/* A Bison parser, made by GNU Bison 2.0.  */

/* Skeleton parser for Yacc-like parsing with Bison,
   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place - Suite 330,
   Boston, MA 02111-1307, USA.  */

/* As a special exception, when this file is copied by Bison into a
   Bison output file, you may use that output file without restriction.
   This special exception was added by the Free Software Foundation
   in version 1.24 of Bison.  */

/* Written by Richard Stallman by simplifying the original so called
   ``semantic'' parser.  */

/* All symbols defined below should begin with yy or YY, to avoid
   infringing on user name space.  This should be done even for local
   variables, as they might otherwise be expanded by user macros.
   There are some unavoidable exceptions within include files to
   define necessary library symbols; they are noted "INFRINGES ON
   USER NAME SPACE" below.  */

/* Identify Bison output.  */
#define YYBISON 1

/* Skeleton name.  */
#define YYSKELETON_NAME "yacc.c"

/* Pure parsers.  */
#define YYPURE 1

/* Using locations.  */
#define YYLSP_NEEDED 0



/* Tokens.  */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
   /* Put the tokens into the symbol table, so that GDB and other debuggers
      know about them.  */
   enum yytokentype {
     END_OF_INPUT = 258,
     CLOSE_SYM = 259,
     HANDLER_SYM = 260,
     LAST_SYM = 261,
     NEXT_SYM = 262,
     PREV_SYM = 263,
     DIV_SYM = 264,
     EQ = 265,
     EQUAL_SYM = 266,
     SOUNDS_SYM = 267,
     GE = 268,
     GT_SYM = 269,
     LE = 270,
     LT = 271,
     NE = 272,
     IS = 273,
     MOD_SYM = 274,
     SHIFT_LEFT = 275,
     SHIFT_RIGHT = 276,
     SET_VAR = 277,
     ABORT_SYM = 278,
     ADD = 279,
     AFTER_SYM = 280,
     ALTER = 281,
     ANALYZE_SYM = 282,
     ANY_SYM = 283,
     AVG_SYM = 284,
     BEGIN_SYM = 285,
     BINLOG_SYM = 286,
     CHANGE = 287,
     CLIENT_SYM = 288,
     COMMENT_SYM = 289,
     COMMIT_SYM = 290,
     CONSISTENT_SYM = 291,
     COUNT_SYM = 292,
     CREATE = 293,
     CROSS = 294,
     CUBE_SYM = 295,
     DELETE_SYM = 296,
     DUAL_SYM = 297,
     DO_SYM = 298,
     DROP = 299,
     EVENTS_SYM = 300,
     EXECUTE_SYM = 301,
     EXPANSION_SYM = 302,
     FLUSH_SYM = 303,
     HELP_SYM = 304,
     INSERT = 305,
     RELAY_THREAD = 306,
     KILL_SYM = 307,
     LOAD = 308,
     LOCKS_SYM = 309,
     LOCK_SYM = 310,
     MASTER_SYM = 311,
     MAX_SYM = 312,
     MIN_SYM = 313,
     NONE_SYM = 314,
     OPTIMIZE = 315,
     PURGE = 316,
     REPAIR = 317,
     REPLICATION = 318,
     RESET_SYM = 319,
     ROLLBACK_SYM = 320,
     ROLLUP_SYM = 321,
     SAVEPOINT_SYM = 322,
     SELECT_SYM = 323,
     SHOW = 324,
     SLAVE = 325,
     SNAPSHOT_SYM = 326,
     SQL_THREAD = 327,
     START_SYM = 328,
     STD_SYM = 329,
     VARIANCE_SYM = 330,
     STOP_SYM = 331,
     SUM_SYM = 332,
     ADDDATE_SYM = 333,
     SUPER_SYM = 334,
     TRUNCATE_SYM = 335,
     UNLOCK_SYM = 336,
     UNTIL_SYM = 337,
     UPDATE_SYM = 338,
     ACTION = 339,
     AGGREGATE_SYM = 340,
     ALL = 341,
     AND_SYM = 342,
     AS = 343,
     ASC = 344,
     AUTO_INC = 345,
     AVG_ROW_LENGTH = 346,
     BACKUP_SYM = 347,
     BERKELEY_DB_SYM = 348,
     BINARY = 349,
     BIT_SYM = 350,
     BOOL_SYM = 351,
     BOOLEAN_SYM = 352,
     BOTH = 353,
     BTREE_SYM = 354,
     BY = 355,
     BYTE_SYM = 356,
     CACHE_SYM = 357,
     CASCADE = 358,
     CAST_SYM = 359,
     CHARSET = 360,
     CHECKSUM_SYM = 361,
     CHECK_SYM = 362,
     COMMITTED_SYM = 363,
     COLLATE_SYM = 364,
     COLLATION_SYM = 365,
     COLUMNS = 366,
     COLUMN_SYM = 367,
     CONCURRENT = 368,
     CONSTRAINT = 369,
     CONVERT_SYM = 370,
     CURRENT_USER = 371,
     DATABASES = 372,
     DATA_SYM = 373,
     DEFAULT = 374,
     DELAYED_SYM = 375,
     DELAY_KEY_WRITE_SYM = 376,
     DESC = 377,
     DESCRIBE = 378,
     DES_KEY_FILE = 379,
     DISABLE_SYM = 380,
     DISCARD = 381,
     DISTINCT = 382,
     DUPLICATE_SYM = 383,
     DYNAMIC_SYM = 384,
     ENABLE_SYM = 385,
     ENCLOSED = 386,
     ESCAPED = 387,
     DIRECTORY_SYM = 388,
     ESCAPE_SYM = 389,
     EXISTS = 390,
     EXTENDED_SYM = 391,
     FALSE_SYM = 392,
     FILE_SYM = 393,
     FIRST_SYM = 394,
     FIXED_SYM = 395,
     FLOAT_NUM = 396,
     FORCE_SYM = 397,
     FOREIGN = 398,
     FROM = 399,
     FULL = 400,
     FULLTEXT_SYM = 401,
     GLOBAL_SYM = 402,
     GRANT = 403,
     GRANTS = 404,
     GREATEST_SYM = 405,
     GROUP = 406,
     HAVING = 407,
     HASH_SYM = 408,
     HEX_NUM = 409,
     HIGH_PRIORITY = 410,
     HOSTS_SYM = 411,
     IDENT = 412,
     IDENT_QUOTED = 413,
     IGNORE_SYM = 414,
     IMPORT = 415,
     INDEX_SYM = 416,
     INDEXES = 417,
     INFILE = 418,
     INNER_SYM = 419,
     INNOBASE_SYM = 420,
     INTO = 421,
     IN_SYM = 422,
     ISOLATION = 423,
     JOIN_SYM = 424,
     KEYS = 425,
     KEY_SYM = 426,
     LEADING = 427,
     LEAST_SYM = 428,
     LEAVES = 429,
     LEVEL_SYM = 430,
     LEX_HOSTNAME = 431,
     LIKE = 432,
     LINES = 433,
     LOCAL_SYM = 434,
     LOG_SYM = 435,
     LOGS_SYM = 436,
     LONG_NUM = 437,
     LONG_SYM = 438,
     LOW_PRIORITY = 439,
     MASTER_HOST_SYM = 440,
     MASTER_USER_SYM = 441,
     MASTER_LOG_FILE_SYM = 442,
     MASTER_LOG_POS_SYM = 443,
     MASTER_PASSWORD_SYM = 444,
     MASTER_PORT_SYM = 445,
     MASTER_CONNECT_RETRY_SYM = 446,
     MASTER_SERVER_ID_SYM = 447,
     MASTER_SSL_SYM = 448,
     MASTER_SSL_CA_SYM = 449,
     MASTER_SSL_CAPATH_SYM = 450,
     MASTER_SSL_CERT_SYM = 451,
     MASTER_SSL_CIPHER_SYM = 452,
     MASTER_SSL_KEY_SYM = 453,
     RELAY_LOG_FILE_SYM = 454,
     RELAY_LOG_POS_SYM = 455,
     MATCH = 456,
     MAX_ROWS = 457,
     MAX_CONNECTIONS_PER_HOUR = 458,
     MAX_QUERIES_PER_HOUR = 459,
     MAX_UPDATES_PER_HOUR = 460,
     MEDIUM_SYM = 461,
     MIN_ROWS = 462,
     NAMES_SYM = 463,
     NATIONAL_SYM = 464,
     NATURAL = 465,
     NDBCLUSTER_SYM = 466,
     NEW_SYM = 467,
     NCHAR_SYM = 468,
     NCHAR_STRING = 469,
     NVARCHAR_SYM = 470,
     NOT = 471,
     NO_SYM = 472,
     NULL_SYM = 473,
     NUM = 474,
     OFFSET_SYM = 475,
     ON = 476,
     ONE_SHOT_SYM = 477,
     OPEN_SYM = 478,
     OPTION = 479,
     OPTIONALLY = 480,
     OR_SYM = 481,
     OR_OR_CONCAT = 482,
     ORDER_SYM = 483,
     OUTER = 484,
     OUTFILE = 485,
     DUMPFILE = 486,
     PACK_KEYS_SYM = 487,
     PARTIAL = 488,
     PRIMARY_SYM = 489,
     PRIVILEGES = 490,
     PROCESS = 491,
     PROCESSLIST_SYM = 492,
     QUERY_SYM = 493,
     RAID_0_SYM = 494,
     RAID_STRIPED_SYM = 495,
     RAID_TYPE = 496,
     RAID_CHUNKS = 497,
     RAID_CHUNKSIZE = 498,
     READ_SYM = 499,
     REAL_NUM = 500,
     REFERENCES = 501,
     REGEXP = 502,
     RELOAD = 503,
     RENAME = 504,
     REPEATABLE_SYM = 505,
     REQUIRE_SYM = 506,
     RESOURCES = 507,
     RESTORE_SYM = 508,
     RESTRICT = 509,
     REVOKE = 510,
     ROWS_SYM = 511,
     ROW_FORMAT_SYM = 512,
     ROW_SYM = 513,
     RTREE_SYM = 514,
     SET = 515,
     SEPARATOR_SYM = 516,
     SERIAL_SYM = 517,
     SERIALIZABLE_SYM = 518,
     SESSION_SYM = 519,
     SIMPLE_SYM = 520,
     SHUTDOWN = 521,
     SPATIAL_SYM = 522,
     SSL_SYM = 523,
     STARTING = 524,
     STATUS_SYM = 525,
     STORAGE_SYM = 526,
     STRAIGHT_JOIN = 527,
     SUBJECT_SYM = 528,
     TABLES = 529,
     TABLE_SYM = 530,
     TABLESPACE = 531,
     TEMPORARY = 532,
     TERMINATED = 533,
     TEXT_STRING = 534,
     TO_SYM = 535,
     TRAILING = 536,
     TRANSACTION_SYM = 537,
     TRUE_SYM = 538,
     TYPE_SYM = 539,
     TYPES_SYM = 540,
     FUNC_ARG0 = 541,
     FUNC_ARG1 = 542,
     FUNC_ARG2 = 543,
     FUNC_ARG3 = 544,
     UDF_RETURNS_SYM = 545,
     UDF_SONAME_SYM = 546,
     UDF_SYM = 547,
     UNCOMMITTED_SYM = 548,
     UNDERSCORE_CHARSET = 549,
     UNICODE_SYM = 550,
     UNION_SYM = 551,
     UNIQUE_SYM = 552,
     USAGE = 553,
     USE_FRM = 554,
     USE_SYM = 555,
     USING = 556,
     VALUE_SYM = 557,
     VALUES = 558,
     VARIABLES = 559,
     WHERE = 560,
     WITH = 561,
     WRITE_SYM = 562,
     NO_WRITE_TO_BINLOG = 563,
     X509_SYM = 564,
     XOR = 565,
     COMPRESSED_SYM = 566,
     ERRORS = 567,
     WARNINGS = 568,
     ASCII_SYM = 569,
     BIGINT = 570,
     BLOB_SYM = 571,
     CHAR_SYM = 572,
     CHANGED = 573,
     COALESCE = 574,
     DATETIME = 575,
     DATE_SYM = 576,
     DECIMAL_SYM = 577,
     DOUBLE_SYM = 578,
     ENUM = 579,
     FAST_SYM = 580,
     FLOAT_SYM = 581,
     GEOMETRY_SYM = 582,
     INT_SYM = 583,
     LIMIT = 584,
     LONGBLOB = 585,
     LONGTEXT = 586,
     MEDIUMBLOB = 587,
     MEDIUMINT = 588,
     MEDIUMTEXT = 589,
     NUMERIC_SYM = 590,
     PRECISION = 591,
     PREPARE_SYM = 592,
     DEALLOCATE_SYM = 593,
     QUICK = 594,
     REAL = 595,
     SIGNED_SYM = 596,
     SMALLINT = 597,
     STRING_SYM = 598,
     TEXT_SYM = 599,
     TIMESTAMP = 600,
     TIME_SYM = 601,
     TINYBLOB = 602,
     TINYINT = 603,
     TINYTEXT = 604,
     ULONGLONG_NUM = 605,
     UNSIGNED = 606,
     VARBINARY = 607,
     VARCHAR = 608,
     VARYING = 609,
     ZEROFILL = 610,
     AGAINST = 611,
     ATAN = 612,
     BETWEEN_SYM = 613,
     BIT_AND = 614,
     BIT_OR = 615,
     BIT_XOR = 616,
     CASE_SYM = 617,
     CONCAT = 618,
     CONCAT_WS = 619,
     CONVERT_TZ_SYM = 620,
     CURDATE = 621,
     CURTIME = 622,
     DATABASE = 623,
     DATE_ADD_INTERVAL = 624,
     DATE_SUB_INTERVAL = 625,
     DAY_HOUR_SYM = 626,
     DAY_MICROSECOND_SYM = 627,
     DAY_MINUTE_SYM = 628,
     DAY_SECOND_SYM = 629,
     DAY_SYM = 630,
     DECODE_SYM = 631,
     DES_ENCRYPT_SYM = 632,
     DES_DECRYPT_SYM = 633,
     ELSE = 634,
     ELT_FUNC = 635,
     ENCODE_SYM = 636,
     ENGINE_SYM = 637,
     ENGINES_SYM = 638,
     ENCRYPT = 639,
     EXPORT_SET = 640,
     EXTRACT_SYM = 641,
     FIELD_FUNC = 642,
     FORMAT_SYM = 643,
     FOR_SYM = 644,
     FROM_UNIXTIME = 645,
     GEOMCOLLFROMTEXT = 646,
     GEOMFROMTEXT = 647,
     GEOMFROMWKB = 648,
     GEOMETRYCOLLECTION = 649,
     GROUP_CONCAT_SYM = 650,
     GROUP_UNIQUE_USERS = 651,
     GET_FORMAT = 652,
     HOUR_MICROSECOND_SYM = 653,
     HOUR_MINUTE_SYM = 654,
     HOUR_SECOND_SYM = 655,
     HOUR_SYM = 656,
     IDENTIFIED_SYM = 657,
     IF = 658,
     INSERT_METHOD = 659,
     INTERVAL_SYM = 660,
     LAST_INSERT_ID = 661,
     LEFT = 662,
     LINEFROMTEXT = 663,
     LINESTRING = 664,
     LOCATE = 665,
     MAKE_SET_SYM = 666,
     MASTER_POS_WAIT = 667,
     MICROSECOND_SYM = 668,
     MINUTE_MICROSECOND_SYM = 669,
     MINUTE_SECOND_SYM = 670,
     MINUTE_SYM = 671,
     MODE_SYM = 672,
     MODIFY_SYM = 673,
     MONTH_SYM = 674,
     MLINEFROMTEXT = 675,
     MPOINTFROMTEXT = 676,
     MPOLYFROMTEXT = 677,
     MULTILINESTRING = 678,
     MULTIPOINT = 679,
     MULTIPOLYGON = 680,
     NOW_SYM = 681,
     OLD_PASSWORD = 682,
     PASSWORD = 683,
     PARAM_MARKER = 684,
     POINTFROMTEXT = 685,
     POINT_SYM = 686,
     POLYFROMTEXT = 687,
     POLYGON = 688,
     POSITION_SYM = 689,
     PROCEDURE = 690,
     RAND = 691,
     REPLACE = 692,
     RIGHT = 693,
     ROUND = 694,
     SECOND_SYM = 695,
     SECOND_MICROSECOND_SYM = 696,
     SHARE_SYM = 697,
     SUBDATE_SYM = 698,
     SUBSTRING = 699,
     SUBSTRING_INDEX = 700,
     TRIM = 701,
     UDA_CHAR_SUM = 702,
     UDA_FLOAT_SUM = 703,
     UDA_INT_SUM = 704,
     UDF_CHAR_FUNC = 705,
     UDF_FLOAT_FUNC = 706,
     UDF_INT_FUNC = 707,
     UNIQUE_USERS = 708,
     UNIX_TIMESTAMP = 709,
     USER = 710,
     UTC_DATE_SYM = 711,
     UTC_TIME_SYM = 712,
     UTC_TIMESTAMP_SYM = 713,
     WEEK_SYM = 714,
     WHEN_SYM = 715,
     WORK_SYM = 716,
     YEAR_MONTH_SYM = 717,
     YEAR_SYM = 718,
     YEARWEEK = 719,
     BENCHMARK_SYM = 720,
     END = 721,
     THEN_SYM = 722,
     SQL_BIG_RESULT = 723,
     SQL_CACHE_SYM = 724,
     SQL_CALC_FOUND_ROWS = 725,
     SQL_NO_CACHE_SYM = 726,
     SQL_SMALL_RESULT = 727,
     SQL_BUFFER_RESULT = 728,
     ISSUER_SYM = 729,
     CIPHER_SYM = 730,
     BEFORE_SYM = 731,
     NEG = 732
   };
#endif
#define END_OF_INPUT 258
#define CLOSE_SYM 259
#define HANDLER_SYM 260
#define LAST_SYM 261
#define NEXT_SYM 262
#define PREV_SYM 263
#define DIV_SYM 264
#define EQ 265
#define EQUAL_SYM 266
#define SOUNDS_SYM 267
#define GE 268
#define GT_SYM 269
#define LE 270
#define LT 271
#define NE 272
#define IS 273
#define MOD_SYM 274
#define SHIFT_LEFT 275
#define SHIFT_RIGHT 276
#define SET_VAR 277
#define ABORT_SYM 278
#define ADD 279
#define AFTER_SYM 280
#define ALTER 281
#define ANALYZE_SYM 282
#define ANY_SYM 283
#define AVG_SYM 284
#define BEGIN_SYM 285
#define BINLOG_SYM 286
#define CHANGE 287
#define CLIENT_SYM 288
#define COMMENT_SYM 289
#define COMMIT_SYM 290
#define CONSISTENT_SYM 291
#define COUNT_SYM 292
#define CREATE 293
#define CROSS 294
#define CUBE_SYM 295
#define DELETE_SYM 296
#define DUAL_SYM 297
#define DO_SYM 298
#define DROP 299
#define EVENTS_SYM 300
#define EXECUTE_SYM 301
#define EXPANSION_SYM 302
#define FLUSH_SYM 303
#define HELP_SYM 304
#define INSERT 305
#define RELAY_THREAD 306
#define KILL_SYM 307
#define LOAD 308
#define LOCKS_SYM 309
#define LOCK_SYM 310
#define MASTER_SYM 311
#define MAX_SYM 312
#define MIN_SYM 313
#define NONE_SYM 314
#define OPTIMIZE 315
#define PURGE 316
#define REPAIR 317
#define REPLICATION 318
#define RESET_SYM 319
#define ROLLBACK_SYM 320
#define ROLLUP_SYM 321
#define SAVEPOINT_SYM 322
#define SELECT_SYM 323
#define SHOW 324
#define SLAVE 325
#define SNAPSHOT_SYM 326
#define SQL_THREAD 327
#define START_SYM 328
#define STD_SYM 329
#define VARIANCE_SYM 330
#define STOP_SYM 331
#define SUM_SYM 332
#define ADDDATE_SYM 333
#define SUPER_SYM 334
#define TRUNCATE_SYM 335
#define UNLOCK_SYM 336
#define UNTIL_SYM 337
#define UPDATE_SYM 338
#define ACTION 339
#define AGGREGATE_SYM 340
#define ALL 341
#define AND_SYM 342
#define AS 343
#define ASC 344
#define AUTO_INC 345
#define AVG_ROW_LENGTH 346
#define BACKUP_SYM 347
#define BERKELEY_DB_SYM 348
#define BINARY 349
#define BIT_SYM 350
#define BOOL_SYM 351
#define BOOLEAN_SYM 352
#define BOTH 353
#define BTREE_SYM 354
#define BY 355
#define BYTE_SYM 356
#define CACHE_SYM 357
#define CASCADE 358
#define CAST_SYM 359
#define CHARSET 360
#define CHECKSUM_SYM 361
#define CHECK_SYM 362
#define COMMITTED_SYM 363
#define COLLATE_SYM 364
#define COLLATION_SYM 365
#define COLUMNS 366
#define COLUMN_SYM 367
#define CONCURRENT 368
#define CONSTRAINT 369
#define CONVERT_SYM 370
#define CURRENT_USER 371
#define DATABASES 372
#define DATA_SYM 373
#define DEFAULT 374
#define DELAYED_SYM 375
#define DELAY_KEY_WRITE_SYM 376
#define DESC 377
#define DESCRIBE 378
#define DES_KEY_FILE 379
#define DISABLE_SYM 380
#define DISCARD 381
#define DISTINCT 382
#define DUPLICATE_SYM 383
#define DYNAMIC_SYM 384
#define ENABLE_SYM 385
#define ENCLOSED 386
#define ESCAPED 387
#define DIRECTORY_SYM 388
#define ESCAPE_SYM 389
#define EXISTS 390
#define EXTENDED_SYM 391
#define FALSE_SYM 392
#define FILE_SYM 393
#define FIRST_SYM 394
#define FIXED_SYM 395
#define FLOAT_NUM 396
#define FORCE_SYM 397
#define FOREIGN 398
#define FROM 399
#define FULL 400
#define FULLTEXT_SYM 401
#define GLOBAL_SYM 402
#define GRANT 403
#define GRANTS 404
#define GREATEST_SYM 405
#define GROUP 406
#define HAVING 407
#define HASH_SYM 408
#define HEX_NUM 409
#define HIGH_PRIORITY 410
#define HOSTS_SYM 411
#define IDENT 412
#define IDENT_QUOTED 413
#define IGNORE_SYM 414
#define IMPORT 415
#define INDEX_SYM 416
#define INDEXES 417
#define INFILE 418
#define INNER_SYM 419
#define INNOBASE_SYM 420
#define INTO 421
#define IN_SYM 422
#define ISOLATION 423
#define JOIN_SYM 424
#define KEYS 425
#define KEY_SYM 426
#define LEADING 427
#define LEAST_SYM 428
#define LEAVES 429
#define LEVEL_SYM 430
#define LEX_HOSTNAME 431
#define LIKE 432
#define LINES 433
#define LOCAL_SYM 434
#define LOG_SYM 435
#define LOGS_SYM 436
#define LONG_NUM 437
#define LONG_SYM 438
#define LOW_PRIORITY 439
#define MASTER_HOST_SYM 440
#define MASTER_USER_SYM 441
#define MASTER_LOG_FILE_SYM 442
#define MASTER_LOG_POS_SYM 443
#define MASTER_PASSWORD_SYM 444
#define MASTER_PORT_SYM 445
#define MASTER_CONNECT_RETRY_SYM 446
#define MASTER_SERVER_ID_SYM 447
#define MASTER_SSL_SYM 448
#define MASTER_SSL_CA_SYM 449
#define MASTER_SSL_CAPATH_SYM 450
#define MASTER_SSL_CERT_SYM 451
#define MASTER_SSL_CIPHER_SYM 452
#define MASTER_SSL_KEY_SYM 453
#define RELAY_LOG_FILE_SYM 454
#define RELAY_LOG_POS_SYM 455
#define MATCH 456
#define MAX_ROWS 457
#define MAX_CONNECTIONS_PER_HOUR 458
#define MAX_QUERIES_PER_HOUR 459
#define MAX_UPDATES_PER_HOUR 460
#define MEDIUM_SYM 461
#define MIN_ROWS 462
#define NAMES_SYM 463
#define NATIONAL_SYM 464
#define NATURAL 465
#define NDBCLUSTER_SYM 466
#define NEW_SYM 467
#define NCHAR_SYM 468
#define NCHAR_STRING 469
#define NVARCHAR_SYM 470
#define NOT 471
#define NO_SYM 472
#define NULL_SYM 473
#define NUM 474
#define OFFSET_SYM 475
#define ON 476
#define ONE_SHOT_SYM 477
#define OPEN_SYM 478
#define OPTION 479
#define OPTIONALLY 480
#define OR_SYM 481
#define OR_OR_CONCAT 482
#define ORDER_SYM 483
#define OUTER 484
#define OUTFILE 485
#define DUMPFILE 486
#define PACK_KEYS_SYM 487
#define PARTIAL 488
#define PRIMARY_SYM 489
#define PRIVILEGES 490
#define PROCESS 491
#define PROCESSLIST_SYM 492
#define QUERY_SYM 493
#define RAID_0_SYM 494
#define RAID_STRIPED_SYM 495
#define RAID_TYPE 496
#define RAID_CHUNKS 497
#define RAID_CHUNKSIZE 498
#define READ_SYM 499
#define REAL_NUM 500
#define REFERENCES 501
#define REGEXP 502
#define RELOAD 503
#define RENAME 504
#define REPEATABLE_SYM 505
#define REQUIRE_SYM 506
#define RESOURCES 507
#define RESTORE_SYM 508
#define RESTRICT 509
#define REVOKE 510
#define ROWS_SYM 511
#define ROW_FORMAT_SYM 512
#define ROW_SYM 513
#define RTREE_SYM 514
#define SET 515
#define SEPARATOR_SYM 516
#define SERIAL_SYM 517
#define SERIALIZABLE_SYM 518
#define SESSION_SYM 519
#define SIMPLE_SYM 520
#define SHUTDOWN 521
#define SPATIAL_SYM 522
#define SSL_SYM 523
#define STARTING 524
#define STATUS_SYM 525
#define STORAGE_SYM 526
#define STRAIGHT_JOIN 527
#define SUBJECT_SYM 528
#define TABLES 529
#define TABLE_SYM 530
#define TABLESPACE 531
#define TEMPORARY 532
#define TERMINATED 533
#define TEXT_STRING 534
#define TO_SYM 535
#define TRAILING 536
#define TRANSACTION_SYM 537
#define TRUE_SYM 538
#define TYPE_SYM 539
#define TYPES_SYM 540
#define FUNC_ARG0 541
#define FUNC_ARG1 542
#define FUNC_ARG2 543
#define FUNC_ARG3 544
#define UDF_RETURNS_SYM 545
#define UDF_SONAME_SYM 546
#define UDF_SYM 547
#define UNCOMMITTED_SYM 548
#define UNDERSCORE_CHARSET 549
#define UNICODE_SYM 550
#define UNION_SYM 551
#define UNIQUE_SYM 552
#define USAGE 553
#define USE_FRM 554
#define USE_SYM 555
#define USING 556
#define VALUE_SYM 557
#define VALUES 558
#define VARIABLES 559
#define WHERE 560
#define WITH 561
#define WRITE_SYM 562
#define NO_WRITE_TO_BINLOG 563
#define X509_SYM 564
#define XOR 565
#define COMPRESSED_SYM 566
#define ERRORS 567
#define WARNINGS 568
#define ASCII_SYM 569
#define BIGINT 570
#define BLOB_SYM 571
#define CHAR_SYM 572
#define CHANGED 573
#define COALESCE 574
#define DATETIME 575
#define DATE_SYM 576
#define DECIMAL_SYM 577
#define DOUBLE_SYM 578
#define ENUM 579
#define FAST_SYM 580
#define FLOAT_SYM 581
#define GEOMETRY_SYM 582
#define INT_SYM 583
#define LIMIT 584
#define LONGBLOB 585
#define LONGTEXT 586
#define MEDIUMBLOB 587
#define MEDIUMINT 588
#define MEDIUMTEXT 589
#define NUMERIC_SYM 590
#define PRECISION 591
#define PREPARE_SYM 592
#define DEALLOCATE_SYM 593
#define QUICK 594
#define REAL 595
#define SIGNED_SYM 596
#define SMALLINT 597
#define STRING_SYM 598
#define TEXT_SYM 599
#define TIMESTAMP 600
#define TIME_SYM 601
#define TINYBLOB 602
#define TINYINT 603
#define TINYTEXT 604
#define ULONGLONG_NUM 605
#define UNSIGNED 606
#define VARBINARY 607
#define VARCHAR 608
#define VARYING 609
#define ZEROFILL 610
#define AGAINST 611
#define ATAN 612
#define BETWEEN_SYM 613
#define BIT_AND 614
#define BIT_OR 615
#define BIT_XOR 616
#define CASE_SYM 617
#define CONCAT 618
#define CONCAT_WS 619
#define CONVERT_TZ_SYM 620
#define CURDATE 621
#define CURTIME 622
#define DATABASE 623
#define DATE_ADD_INTERVAL 624
#define DATE_SUB_INTERVAL 625
#define DAY_HOUR_SYM 626
#define DAY_MICROSECOND_SYM 627
#define DAY_MINUTE_SYM 628
#define DAY_SECOND_SYM 629
#define DAY_SYM 630
#define DECODE_SYM 631
#define DES_ENCRYPT_SYM 632
#define DES_DECRYPT_SYM 633
#define ELSE 634
#define ELT_FUNC 635
#define ENCODE_SYM 636
#define ENGINE_SYM 637
#define ENGINES_SYM 638
#define ENCRYPT 639
#define EXPORT_SET 640
#define EXTRACT_SYM 641
#define FIELD_FUNC 642
#define FORMAT_SYM 643
#define FOR_SYM 644
#define FROM_UNIXTIME 645
#define GEOMCOLLFROMTEXT 646
#define GEOMFROMTEXT 647
#define GEOMFROMWKB 648
#define GEOMETRYCOLLECTION 649
#define GROUP_CONCAT_SYM 650
#define GROUP_UNIQUE_USERS 651
#define GET_FORMAT 652
#define HOUR_MICROSECOND_SYM 653
#define HOUR_MINUTE_SYM 654
#define HOUR_SECOND_SYM 655
#define HOUR_SYM 656
#define IDENTIFIED_SYM 657
#define IF 658
#define INSERT_METHOD 659
#define INTERVAL_SYM 660
#define LAST_INSERT_ID 661
#define LEFT 662
#define LINEFROMTEXT 663
#define LINESTRING 664
#define LOCATE 665
#define MAKE_SET_SYM 666
#define MASTER_POS_WAIT 667
#define MICROSECOND_SYM 668
#define MINUTE_MICROSECOND_SYM 669
#define MINUTE_SECOND_SYM 670
#define MINUTE_SYM 671
#define MODE_SYM 672
#define MODIFY_SYM 673
#define MONTH_SYM 674
#define MLINEFROMTEXT 675
#define MPOINTFROMTEXT 676
#define MPOLYFROMTEXT 677
#define MULTILINESTRING 678
#define MULTIPOINT 679
#define MULTIPOLYGON 680
#define NOW_SYM 681
#define OLD_PASSWORD 682
#define PASSWORD 683
#define PARAM_MARKER 684
#define POINTFROMTEXT 685
#define POINT_SYM 686
#define POLYFROMTEXT 687
#define POLYGON 688
#define POSITION_SYM 689
#define PROCEDURE 690
#define RAND 691
#define REPLACE 692
#define RIGHT 693
#define ROUND 694
#define SECOND_SYM 695
#define SECOND_MICROSECOND_SYM 696
#define SHARE_SYM 697
#define SUBDATE_SYM 698
#define SUBSTRING 699
#define SUBSTRING_INDEX 700
#define TRIM 701
#define UDA_CHAR_SUM 702
#define UDA_FLOAT_SUM 703
#define UDA_INT_SUM 704
#define UDF_CHAR_FUNC 705
#define UDF_FLOAT_FUNC 706
#define UDF_INT_FUNC 707
#define UNIQUE_USERS 708
#define UNIX_TIMESTAMP 709
#define USER 710
#define UTC_DATE_SYM 711
#define UTC_TIME_SYM 712
#define UTC_TIMESTAMP_SYM 713
#define WEEK_SYM 714
#define WHEN_SYM 715
#define WORK_SYM 716
#define YEAR_MONTH_SYM 717
#define YEAR_SYM 718
#define YEARWEEK 719
#define BENCHMARK_SYM 720
#define END 721
#define THEN_SYM 722
#define SQL_BIG_RESULT 723
#define SQL_CACHE_SYM 724
#define SQL_CALC_FOUND_ROWS 725
#define SQL_NO_CACHE_SYM 726
#define SQL_SMALL_RESULT 727
#define SQL_BUFFER_RESULT 728
#define ISSUER_SYM 729
#define CIPHER_SYM 730
#define BEFORE_SYM 731
#define NEG 732




/* Copy the first part of user declarations.  */
#line 19 "sql_yacc.yy"

/* thd is passed as an arg to yyparse(), and subsequently to yylex().
** The type will be void*, so it must be  cast to (THD*) when used.
** Use the YYTHD macro for this.
*/
#define YYPARSE_PARAM yythd
#define YYLEX_PARAM yythd
#define YYTHD ((THD *)yythd)

#define MYSQL_YACC
#define YYINITDEPTH 100
#define YYMAXDEPTH 3200				/* Because of 64K stack */
#define Lex (YYTHD->lex)
#define Select Lex->current_select
#include "mysql_priv.h"
#include "slave.h"
#include "lex_symbol.h"
#include "item_create.h"
#include <myisam.h>
#include <myisammrg.h>

int yylex(void *yylval, void *yythd);

#define yyoverflow(A,B,C,D,E,F) {ulong val= *(F); if(my_yyoverflow((B), (D), &val)) { yyerror((char*) (A)); return 2; } else { *(F)= (YYSIZE_T)val; }}

#define WARN_DEPRECATED(A,B) \
  push_warning_printf(((THD *)yythd), MYSQL_ERROR::WARN_LEVEL_WARN, \
		      ER_WARN_DEPRECATED_SYNTAX, \
		      ER(ER_WARN_DEPRECATED_SYNTAX), (A), (B)); 

inline Item *or_or_concat(THD *thd, Item* A, Item* B)
{
  return (thd->variables.sql_mode & MODE_PIPES_AS_CONCAT ?
          (Item*) new Item_func_concat(A,B) : (Item*) new Item_cond_or(A,B));
}



/* Enabling traces.  */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif

/* Enabling verbose error messages.  */
#ifdef YYERROR_VERBOSE
# undef YYERROR_VERBOSE
# define YYERROR_VERBOSE 1
#else
# define YYERROR_VERBOSE 0
#endif

#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
#line 56 "sql_yacc.yy"
typedef union YYSTYPE {
  int  num;
  ulong ulong_num;
  ulonglong ulonglong_number;
  LEX_STRING lex_str;
  LEX_STRING *lex_str_ptr;
  LEX_SYMBOL symbol;
  Table_ident *table;
  char *simple_string;
  Item *item;
  Item_num *item_num;
  List<Item> *item_list;
  List<String> *string_list;
  String *string;
  key_part_spec *key_part;
  TABLE_LIST *table_list;
  udf_func *udf;
  LEX_USER *lex_user;
  struct sys_var_with_base variable;
  Key::Keytype key_type;
  enum ha_key_alg key_alg;
  enum db_type db_type;
  enum row_type row_type;
  enum ha_rkey_function ha_rkey_mode;
  enum enum_tx_isolation tx_isolation;
  enum Cast_target cast_type;
  enum Item_udftype udf_type;
  CHARSET_INFO *charset;
  thr_lock_type lock_type;
  interval_type interval;
  timestamp_type date_time_type;
  st_select_lex *select_lex;
  chooser_compare_func_creator boolfunc2creator;
} YYSTYPE;
/* Line 190 of yacc.c.  */
#line 1103 "sql_yacc.cc"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif



/* Copy the second part of user declarations.  */
#line 91 "sql_yacc.yy"

bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);


/* Line 213 of yacc.c.  */
#line 1118 "sql_yacc.cc"

#if ! defined (yyoverflow) || YYERROR_VERBOSE

# ifndef YYFREE
#  define YYFREE free
# endif
# ifndef YYMALLOC
#  define YYMALLOC malloc
# endif

/* The parser invokes alloca or malloc; define the necessary symbols.  */

# ifdef YYSTACK_USE_ALLOCA
#  if YYSTACK_USE_ALLOCA
#   ifdef __GNUC__
#    define YYSTACK_ALLOC __builtin_alloca
#   else
#    define YYSTACK_ALLOC alloca
#   endif
#  endif
# endif

# ifdef YYSTACK_ALLOC
   /* Pacify GCC's `empty if-body' warning. */
#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
# else
#  if defined (__STDC__) || defined (__cplusplus)
#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
#   define YYSIZE_T size_t
#  endif
#  define YYSTACK_ALLOC YYMALLOC
#  define YYSTACK_FREE YYFREE
# endif
#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */


#if (! defined (yyoverflow) \
     && (! defined (__cplusplus) \
	 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))

/* A type that is properly aligned for any stack member.  */
union yyalloc
{
  short int yyss;
  YYSTYPE yyvs;
  };

/* The size of the maximum gap between one aligned stack and the next.  */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)

/* The size of an array large to enough to hold all stacks, each with
   N elements.  */
# define YYSTACK_BYTES(N) \
     ((N) * (sizeof (short int) + sizeof (YYSTYPE))			\
      + YYSTACK_GAP_MAXIMUM)

/* Copy COUNT objects from FROM to TO.  The source and destination do
   not overlap.  */
# ifndef YYCOPY
#  if defined (__GNUC__) && 1 < __GNUC__
#   define YYCOPY(To, From, Count) \
      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
#  else
#   define YYCOPY(To, From, Count)		\
      do					\
	{					\
	  register YYSIZE_T yyi;		\
	  for (yyi = 0; yyi < (Count); yyi++)	\
	    (To)[yyi] = (From)[yyi];		\
	}					\
      while (0)
#  endif
# endif

/* Relocate STACK from its old location to the new one.  The
   local variables YYSIZE and YYSTACKSIZE give the old and new number of
   elements in the stack, and YYPTR gives the new location of the
   stack.  Advance YYPTR to a properly aligned location for the next
   stack.  */
# define YYSTACK_RELOCATE(Stack)					\
    do									\
      {									\
	YYSIZE_T yynewbytes;						\
	YYCOPY (&yyptr->Stack, Stack, yysize);				\
	Stack = &yyptr->Stack;						\
	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
	yyptr += yynewbytes / sizeof (*yyptr);				\
      }									\
    while (0)

#endif

#if defined (__STDC__) || defined (__cplusplus)
   typedef signed char yysigned_char;
#else
   typedef short int yysigned_char;
#endif

/* YYFINAL -- State number of the termination state. */
#define YYFINAL  393
/* YYLAST -- Last index in YYTABLE.  */
#define YYLAST   39430

/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS  495
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS  497
/* YYNRULES -- Number of rules. */
#define YYNRULES  1678
/* YYNRULES -- Number of states. */
#define YYNSTATES  3113

/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
#define YYUNDEFTOK  2
#define YYMAXUTOK   732

#define YYTRANSLATE(YYX) 						\
  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)

/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
static const unsigned short int yytranslate[] =
{
       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,   490,     2,     2,     2,   483,   478,     2,
     487,   488,   481,   480,   489,   479,   494,   482,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,   493,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,   484,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,   491,   477,   492,   485,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   486
};

#if YYDEBUG
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
   YYRHS.  */
static const unsigned short int yyprhs[] =
{
       0,     0,     3,     5,     8,    10,    12,    14,    16,    18,
      20,    22,    24,    26,    28,    30,    32,    34,    36,    38,
      40,    42,    44,    46,    48,    50,    52,    54,    56,    58,
      60,    62,    64,    66,    68,    70,    72,    74,    76,    78,
      80,    82,    84,    86,    88,    90,    92,    94,    96,    98,
     102,   104,   106,   111,   113,   116,   117,   122,   123,   126,
     130,   132,   135,   138,   139,   145,   147,   151,   155,   159,
     163,   167,   171,   175,   179,   183,   187,   191,   195,   197,
     201,   205,   209,   213,   214,   222,   223,   235,   236,   243,
     244,   254,   257,   260,   263,   268,   273,   274,   279,   280,
     281,   287,   288,   296,   297,   298,   305,   306,   308,   309,
     311,   313,   316,   318,   320,   321,   323,   325,   328,   330,
     331,   335,   336,   338,   340,   343,   345,   348,   352,   356,
     360,   364,   368,   372,   376,   380,   384,   388,   392,   396,
     400,   404,   408,   412,   416,   422,   424,   426,   430,   435,
     440,   445,   450,   452,   454,   456,   458,   460,   462,   464,
     466,   468,   470,   472,   474,   477,   478,   480,   482,   484,
     486,   488,   492,   494,   496,   499,   502,   509,   517,   526,
     529,   532,   533,   535,   538,   539,   541,   544,   545,   550,
     554,   558,   562,   565,   567,   569,   575,   578,   583,   585,
     590,   592,   598,   603,   608,   612,   614,   616,   619,   621,
     623,   626,   628,   630,   632,   635,   639,   642,   646,   649,
     652,   656,   660,   664,   665,   672,   673,   680,   683,   685,
     687,   689,   691,   693,   695,   697,   699,   701,   703,   705,
     708,   711,   713,   716,   718,   721,   725,   728,   730,   732,
     734,   736,   738,   740,   742,   745,   746,   750,   752,   758,
     759,   761,   764,   766,   768,   770,   772,   773,   777,   778,
     780,   781,   783,   786,   788,   790,   793,   796,   801,   803,
     807,   810,   812,   815,   818,   820,   823,   826,   828,   831,
     833,   835,   837,   839,   841,   843,   845,   847,   849,   851,
     852,   855,   857,   859,   860,   862,   863,   865,   867,   869,
     872,   873,   875,   876,   881,   883,   888,   892,   894,   895,
     897,   900,   902,   906,   910,   913,   916,   919,   921,   923,
     926,   929,   932,   934,   937,   940,   943,   946,   948,   950,
     951,   953,   955,   957,   959,   960,   962,   964,   966,   967,
     970,   973,   975,   977,   979,   984,   987,   989,   994,   995,
     997,   998,  1001,  1003,  1007,  1008,  1015,  1016,  1022,  1023,
    1025,  1026,  1029,  1032,  1034,  1038,  1041,  1045,  1048,  1053,
    1054,  1061,  1062,  1063,  1072,  1077,  1082,  1086,  1090,  1093,
    1096,  1103,  1109,  1113,  1119,  1121,  1123,  1124,  1126,  1127,
    1129,  1130,  1132,  1134,  1135,  1138,  1140,  1141,  1143,  1145,
    1147,  1148,  1154,  1158,  1159,  1165,  1169,  1173,  1174,  1178,
    1179,  1182,  1184,  1188,  1189,  1191,  1193,  1194,  1197,  1199,
    1203,  1204,  1211,  1212,  1219,  1220,  1226,  1227,  1229,  1231,
    1232,  1239,  1240,  1242,  1244,  1247,  1249,  1251,  1253,  1254,
    1261,  1262,  1268,  1269,  1271,  1273,  1276,  1278,  1280,  1282,
    1284,  1286,  1287,  1294,  1295,  1297,  1299,  1300,  1305,  1307,
    1311,  1315,  1321,  1323,  1327,  1330,  1332,  1334,  1335,  1342,
    1344,  1348,  1352,  1353,  1356,  1357,  1362,  1363,  1366,  1368,
    1371,  1376,  1379,  1383,  1384,  1388,  1389,  1390,  1397,  1400,
    1402,  1404,  1407,  1410,  1419,  1424,  1425,  1427,  1430,  1432,
    1434,  1436,  1438,  1440,  1442,  1444,  1446,  1448,  1450,  1452,
    1453,  1456,  1461,  1465,  1467,  1469,  1474,  1475,  1476,  1478,
    1480,  1481,  1484,  1487,  1489,  1491,  1492,  1495,  1497,  1499,
    1501,  1503,  1505,  1507,  1509,  1511,  1513,  1515,  1521,  1528,
    1532,  1537,  1543,  1550,  1554,  1558,  1562,  1566,  1571,  1576,
    1582,  1586,  1591,  1595,  1600,  1604,  1608,  1613,  1617,  1621,
    1625,  1629,  1633,  1637,  1641,  1645,  1649,  1653,  1657,  1661,
    1666,  1671,  1677,  1684,  1688,  1692,  1696,  1700,  1705,  1710,
    1716,  1720,  1725,  1729,  1734,  1738,  1742,  1747,  1751,  1755,
    1759,  1763,  1767,  1771,  1775,  1779,  1783,  1787,  1791,  1795,
    1800,  1805,  1807,  1813,  1820,  1824,  1829,  1835,  1842,  1846,
    1850,  1854,  1859,  1864,  1870,  1874,  1879,  1883,  1888,  1892,
    1896,  1901,  1905,  1909,  1913,  1917,  1921,  1925,  1929,  1933,
    1937,  1941,  1945,  1949,  1954,  1959,  1961,  1964,  1966,  1970,
    1972,  1974,  1979,  1982,  1988,  1990,  1993,  1996,  1999,  2002,
    2005,  2009,  2015,  2022,  2025,  2027,  2032,  2040,  2045,  2048,
    2055,  2062,  2069,  2076,  2081,  2086,  2090,  2095,  2102,  2111,
    2118,  2127,  2132,  2139,  2144,  2151,  2156,  2161,  2166,  2171,
    2178,  2187,  2190,  2193,  2198,  2201,  2209,  2217,  2221,  2226,
    2231,  2238,  2245,  2250,  2257,  2264,  2271,  2276,  2283,  2288,
    2295,  2304,  2315,  2328,  2335,  2340,  2347,  2354,  2356,  2363,
    2368,  2377,  2388,  2393,  2395,  2399,  2404,  2411,  2418,  2427,
    2434,  2441,  2446,  2453,  2460,  2469,  2474,  2479,  2486,  2491,
    2494,  2499,  2504,  2509,  2516,  2521,  2525,  2534,  2541,  2546,
    2553,  2560,  2569,  2574,  2583,  2590,  2599,  2606,  2615,  2620,
    2625,  2632,  2637,  2645,  2653,  2661,  2668,  2675,  2682,  2689,
    2696,  2701,  2706,  2711,  2716,  2721,  2726,  2737,  2741,  2746,
    2750,  2753,  2756,  2759,  2764,  2771,  2776,  2781,  2788,  2795,
    2802,  2807,  2814,  2819,  2826,  2831,  2836,  2841,  2846,  2853,
    2858,  2865,  2870,  2877,  2882,  2887,  2894,  2899,  2906,  2911,
    2918,  2923,  2928,  2935,  2940,  2947,  2948,  2952,  2956,  2957,
    2959,  2960,  2963,  2968,  2973,  2978,  2983,  2989,  2994,  2995,
    2996,  3004,  3015,  3020,  3025,  3030,  3035,  3040,  3041,  3050,
    3051,  3053,  3054,  3057,  3058,  3060,  3061,  3065,  3068,  3072,
    3075,  3077,  3080,  3082,  3085,  3087,  3089,  3091,  3092,  3095,
    3097,  3101,  3103,  3107,  3108,  3111,  3113,  3117,  3118,  3120,
    3121,  3124,  3125,  3128,  3132,  3138,  3140,  3144,  3148,  3152,
    3158,  3159,  3168,  3176,  3177,  3188,  3195,  3203,  3204,  3215,
    3222,  3227,  3229,  3232,  3235,  3236,  3241,  3252,  3258,  3262,
    3265,  3269,  3270,  3271,  3277,  3278,  3280,  3281,  3284,  3287,
    3290,  3291,  3297,  3298,  3300,  3304,  3306,  3308,  3310,  3314,
    3316,  3318,  3320,  3322,  3324,  3326,  3328,  3330,  3332,  3334,
    3336,  3338,  3340,  3342,  3344,  3346,  3348,  3350,  3352,  3354,
    3356,  3358,  3359,  3361,  3363,  3364,  3367,  3368,  3370,  3371,
    3372,  3376,  3377,  3378,  3382,  3385,  3386,  3387,  3392,  3397,
    3400,  3401,  3404,  3407,  3408,  3410,  3411,  3416,  3421,  3424,
    3425,  3427,  3429,  3430,  3432,  3433,  3435,  3438,  3440,  3444,
    3448,  3449,  3452,  3454,  3456,  3458,  3460,  3462,  3464,  3466,
    3468,  3470,  3472,  3473,  3474,  3481,  3482,  3484,  3488,  3490,
    3493,  3494,  3497,  3501,  3503,  3506,  3507,  3514,  3518,  3521,
    3522,  3526,  3533,  3534,  3541,  3546,  3550,  3551,  3556,  3558,
    3562,  3564,  3565,  3568,  3569,  3571,  3572,  3573,  3582,  3583,
    3584,  3591,  3592,  3594,  3596,  3598,  3600,  3602,  3605,  3607,
    3609,  3611,  3615,  3620,  3621,  3625,  3626,  3630,  3633,  3637,
    3639,  3642,  3645,  3646,  3650,  3651,  3657,  3661,  3663,  3667,
    3669,  3673,  3675,  3677,  3678,  3680,  3681,  3686,  3687,  3689,
    3693,  3695,  3697,  3699,  3700,  3701,  3708,  3709,  3710,  3722,
    3726,  3728,  3732,  3736,  3738,  3742,  3743,  3745,  3746,  3751,
    3752,  3759,  3760,  3761,  3768,  3769,  3770,  3778,  3780,  3784,
    3788,  3794,  3795,  3798,  3799,  3802,  3804,  3806,  3808,  3812,
    3813,  3815,  3816,  3820,  3823,  3827,  3832,  3837,  3838,  3843,
    3850,  3867,  3870,  3873,  3874,  3881,  3886,  3889,  3892,  3895,
    3897,  3903,  3909,  3912,  3915,  3918,  3921,  3924,  3928,  3931,
    3934,  3937,  3939,  3941,  3945,  3950,  3954,  3957,  3960,  3962,
    3964,  3966,  3968,  3969,  3971,  3972,  3975,  3976,  3979,  3980,
    3982,  3984,  3986,  3987,  3990,  3991,  3994,  3995,  4000,  4001,
    4006,  4008,  4010,  4011,  4013,  4014,  4016,  4018,  4019,  4024,
    4028,  4030,  4031,  4035,  4040,  4043,  4045,  4047,  4049,  4051,
    4053,  4055,  4057,  4059,  4060,  4062,  4063,  4067,  4071,  4073,
    4075,  4077,  4080,  4081,  4085,  4089,  4092,  4095,  4096,  4100,
    4103,  4104,  4120,  4126,  4131,  4132,  4134,  4135,  4137,  4139,
    4140,  4142,  4144,  4145,  4148,  4151,  4153,  4157,  4162,  4166,
    4170,  4171,  4174,  4177,  4179,  4183,  4187,  4188,  4192,  4194,
    4196,  4199,  4202,  4204,  4206,  4208,  4210,  4213,  4216,  4218,
    4220,  4222,  4224,  4226,  4228,  4231,  4234,  4237,  4240,  4242,
    4244,  4246,  4248,  4250,  4252,  4254,  4258,  4264,  4266,  4268,
    4272,  4277,  4283,  4285,  4291,  4295,  4298,  4300,  4304,  4307,
    4309,  4311,  4313,  4315,  4317,  4319,  4321,  4323,  4325,  4327,
    4329,  4333,  4336,  4338,  4340,  4342,  4344,  4346,  4348,  4350,
    4352,  4354,  4356,  4358,  4360,  4362,  4364,  4366,  4368,  4370,
    4372,  4374,  4376,  4378,  4380,  4382,  4384,  4386,  4388,  4390,
    4392,  4394,  4396,  4398,  4400,  4402,  4404,  4406,  4408,  4410,
    4412,  4414,  4416,  4418,  4420,  4422,  4424,  4426,  4428,  4430,
    4432,  4434,  4436,  4438,  4440,  4442,  4444,  4446,  4448,  4450,
    4452,  4454,  4456,  4458,  4460,  4462,  4464,  4466,  4468,  4470,
    4472,  4474,  4476,  4478,  4480,  4482,  4484,  4486,  4488,  4490,
    4492,  4494,  4496,  4498,  4500,  4502,  4504,  4506,  4508,  4510,
    4512,  4514,  4516,  4518,  4520,  4522,  4524,  4526,  4528,  4530,
    4532,  4534,  4536,  4538,  4540,  4542,  4544,  4546,  4548,  4550,
    4552,  4554,  4556,  4558,  4560,  4562,  4564,  4566,  4568,  4570,
    4572,  4574,  4576,  4578,  4580,  4582,  4584,  4586,  4588,  4590,
    4592,  4594,  4596,  4598,  4600,  4602,  4604,  4606,  4608,  4610,
    4612,  4614,  4616,  4618,  4620,  4622,  4624,  4626,  4628,  4630,
    4632,  4634,  4636,  4638,  4640,  4642,  4644,  4646,  4648,  4650,
    4652,  4654,  4656,  4658,  4660,  4662,  4664,  4666,  4668,  4670,
    4672,  4674,  4676,  4678,  4680,  4682,  4684,  4686,  4688,  4690,
    4692,  4694,  4696,  4698,  4700,  4702,  4704,  4706,  4708,  4710,
    4712,  4714,  4716,  4718,  4720,  4722,  4724,  4726,  4728,  4730,
    4732,  4734,  4736,  4738,  4740,  4742,  4744,  4746,  4748,  4750,
    4752,  4754,  4755,  4760,  4761,  4763,  4765,  4769,  4772,  4775,
    4777,  4779,  4781,  4783,  4784,  4786,  4787,  4789,  4791,  4793,
    4794,  4797,  4800,  4803,  4807,  4812,  4817,  4824,  4827,  4831,
    4835,  4841,  4843,  4847,  4851,  4854,  4857,  4860,  4862,  4864,
    4869,  4874,  4876,  4878,  4880,  4882,  4884,  4885,  4890,  4892,
    4894,  4896,  4900,  4904,  4906,  4908,  4911,  4914,  4917,  4922,
    4926,  4927,  4935,  4937,  4940,  4942,  4944,  4946,  4948,  4950,
    4952,  4953,  4959,  4961,  4963,  4965,  4967,  4969,  4970,  4974,
    4980,  4988,  4989,  4999,  5001,  5004,  5005,  5007,  5009,  5013,
    5014,  5018,  5019,  5023,  5024,  5028,  5029,  5033,  5035,  5037,
    5039,  5041,  5043,  5045,  5047,  5049,  5051,  5053,  5055,  5058,
    5061,  5063,  5067,  5070,  5073,  5076,  5077,  5079,  5083,  5085,
    5088,  5091,  5094,  5096,  5100,  5104,  5106,  5108,  5112,  5117,
    5123,  5125,  5126,  5130,  5134,  5136,  5138,  5139,  5142,  5145,
    5148,  5151,  5152,  5155,  5158,  5160,  5163,  5166,  5169,  5172,
    5173,  5177,  5178,  5180,  5182,  5184,  5189,  5192,  5193,  5195,
    5196,  5201,  5203,  5205,  5206,  5207,  5210,  5213,  5215,  5216,
    5218,  5220,  5224,  5226,  5230,  5232,  5236,  5238,  5241
};

/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const short int yyrhs[] =
{
     496,     0,    -1,     3,    -1,   497,     3,    -1,   611,    -1,
     649,    -1,   639,    -1,   970,    -1,   508,    -1,   651,    -1,
     641,    -1,   973,    -1,   513,    -1,   498,    -1,   831,    -1,
     860,    -1,   785,    -1,   787,    -1,   502,    -1,   866,    -1,
     947,    -1,   937,    -1,   507,    -1,   794,    -1,   880,    -1,
     883,    -1,   930,    -1,   656,    -1,   663,    -1,   667,    -1,
     500,    -1,   876,    -1,   659,    -1,   644,    -1,   797,    -1,
     872,    -1,   637,    -1,   944,    -1,   974,    -1,   975,    -1,
     675,    -1,   915,    -1,   846,    -1,   626,    -1,   629,    -1,
     844,    -1,   936,    -1,   823,    -1,   882,    -1,   499,   337,
     911,    -1,   338,    -1,    44,    -1,   337,   911,   144,   501,
      -1,   909,    -1,   493,   912,    -1,    -1,    46,   911,   503,
     504,    -1,    -1,   301,   505,    -1,   505,   489,   506,    -1,
     506,    -1,   493,   912,    -1,    49,   912,    -1,    -1,    32,
      56,   280,   509,   510,    -1,   511,    -1,   510,   489,   511,
      -1,   185,    10,   909,    -1,   186,    10,   909,    -1,   189,
      10,   909,    -1,   190,    10,   772,    -1,   191,    10,   772,
      -1,   193,    10,   772,    -1,   194,    10,   909,    -1,   195,
      10,   909,    -1,   196,    10,   909,    -1,   197,    10,   909,
      -1,   198,    10,   909,    -1,   512,    -1,   187,    10,   909,
      -1,   188,    10,   773,    -1,   199,    10,   909,    -1,   200,
      10,   772,    -1,    -1,    38,   531,   275,   534,   906,   514,
     518,    -1,    -1,    38,   603,   161,   911,   604,   221,   906,
     515,   487,   606,   488,    -1,    -1,    38,   368,   534,   911,
     516,   528,    -1,    -1,    38,   546,   292,   908,   517,   290,
     547,   291,   909,    -1,   487,   519,    -1,   535,   521,    -1,
     177,   906,    -1,   487,   177,   906,   488,    -1,   548,   488,
     535,   521,    -1,    -1,   524,   488,   520,   979,    -1,    -1,
      -1,   887,   527,   524,   522,   976,    -1,    -1,   887,   527,
     487,   524,   488,   523,   979,    -1,    -1,    -1,    68,   525,
     685,   689,   526,   545,    -1,    -1,    88,    -1,    -1,   529,
      -1,   530,    -1,   529,   530,    -1,   540,    -1,   539,    -1,
      -1,   532,    -1,   533,    -1,   533,   532,    -1,   277,    -1,
      -1,   403,   216,   135,    -1,    -1,   537,    -1,   538,    -1,
     538,   536,    -1,   538,    -1,   538,   537,    -1,   538,   489,
     537,    -1,   382,   815,   541,    -1,   284,   815,   541,    -1,
     202,   815,   773,    -1,   207,   815,   773,    -1,    91,   815,
     772,    -1,   428,   815,   909,    -1,    34,   815,   909,    -1,
      90,   815,   773,    -1,   232,   815,   772,    -1,   232,   815,
     119,    -1,   106,   815,   772,    -1,   121,   815,   772,    -1,
     257,   815,   542,    -1,   241,   815,   543,    -1,   242,   815,
     772,    -1,   243,   815,   772,    -1,   296,   815,   487,   790,
     488,    -1,   539,    -1,   540,    -1,   404,   815,   544,    -1,
     118,   133,   815,   909,    -1,   161,   133,   815,   909,    -1,
     587,   579,   815,   581,    -1,   587,   109,   815,   586,    -1,
     912,    -1,   119,    -1,   140,    -1,   129,    -1,   311,    -1,
     240,    -1,   239,    -1,   772,    -1,   217,    -1,   139,    -1,
       6,    -1,   768,    -1,   684,   688,    -1,    -1,    85,    -1,
     343,    -1,   340,    -1,   328,    -1,   549,    -1,   548,   489,
     549,    -1,   550,    -1,   551,    -1,   556,   552,    -1,   556,
     590,    -1,   598,   608,   604,   487,   606,   488,    -1,   554,
     599,   608,   604,   487,   606,   488,    -1,   554,   143,   171,
     608,   487,   606,   488,   590,    -1,   555,   552,    -1,   554,
     553,    -1,    -1,   553,    -1,   107,   696,    -1,    -1,   555,
      -1,   114,   608,    -1,    -1,   905,   557,   558,   575,    -1,
     566,   573,   570,    -1,   567,   574,   570,    -1,   326,   568,
     570,    -1,    95,   573,    -1,    96,    -1,    97,    -1,   562,
     487,   219,   488,   588,    -1,   562,   588,    -1,   563,   487,
     219,   488,    -1,   563,    -1,    94,   487,   219,   488,    -1,
      94,    -1,   564,   487,   219,   488,   588,    -1,   565,   487,
     219,   488,    -1,   352,   487,   219,   488,    -1,   463,   573,
     570,    -1,   321,    -1,   346,    -1,   345,   573,    -1,   320,
      -1,   347,    -1,   316,   573,    -1,   561,    -1,   332,    -1,
     330,    -1,   183,   352,    -1,   183,   564,   588,    -1,   349,
     588,    -1,   344,   573,   588,    -1,   334,   588,    -1,   331,
     588,    -1,   322,   568,   570,    -1,   335,   568,   570,    -1,
     140,   568,   570,    -1,    -1,   324,   559,   487,   610,   488,
     588,    -1,    -1,   260,   560,   487,   610,   488,   588,    -1,
     183,   588,    -1,   262,    -1,   327,    -1,   394,    -1,   431,
      -1,   424,    -1,   409,    -1,   423,    -1,   433,    -1,   425,
      -1,   317,    -1,   213,    -1,   209,   317,    -1,   562,   354,
      -1,   353,    -1,   209,   353,    -1,   215,    -1,   213,   353,
      -1,   209,   317,   354,    -1,   213,   354,    -1,   328,    -1,
     348,    -1,   342,    -1,   333,    -1,   315,    -1,   340,    -1,
     323,    -1,   323,   336,    -1,    -1,   487,   219,   488,    -1,
     569,    -1,   487,   219,   489,   219,   488,    -1,    -1,   571,
      -1,   571,   572,    -1,   572,    -1,   341,    -1,   351,    -1,
     355,    -1,    -1,   487,   219,   488,    -1,    -1,   569,    -1,
      -1,   576,    -1,   576,   577,    -1,   577,    -1,   218,    -1,
     216,   218,    -1,   119,   578,    -1,   221,    83,   426,   695,
      -1,    90,    -1,   262,   119,   302,    -1,   589,   171,    -1,
     297,    -1,   297,   171,    -1,    34,   909,    -1,    94,    -1,
     109,   584,    -1,   426,   695,    -1,   898,    -1,   317,   260,
      -1,   105,    -1,   912,    -1,    94,    -1,   580,    -1,   119,
      -1,   912,    -1,    94,    -1,   582,    -1,   119,    -1,   912,
      -1,    -1,   109,   586,    -1,   584,    -1,   119,    -1,    -1,
     119,    -1,    -1,   314,    -1,   101,    -1,   295,    -1,   579,
     580,    -1,    -1,   234,    -1,    -1,   246,   906,   591,   592,
      -1,   594,    -1,   487,   593,   488,   594,    -1,   593,   489,
     911,    -1,   911,    -1,    -1,   595,    -1,   595,   596,    -1,
     596,    -1,   221,    41,   597,    -1,   221,    83,   597,    -1,
     201,   145,    -1,   201,   233,    -1,   201,   265,    -1,   254,
      -1,   103,    -1,   260,   218,    -1,   217,    84,    -1,   260,
     119,    -1,   600,    -1,   146,   601,    -1,   267,   601,    -1,
     234,   171,    -1,   297,   601,    -1,   171,    -1,   161,    -1,
      -1,   600,    -1,   170,    -1,   161,    -1,   162,    -1,    -1,
     297,    -1,   146,    -1,   267,    -1,    -1,   301,   605,    -1,
     284,   605,    -1,    99,    -1,   259,    -1,   153,    -1,   606,
     489,   607,   766,    -1,   607,   766,    -1,   911,    -1,   911,
     487,   219,   488,    -1,    -1,   905,    -1,    -1,   494,   911,
      -1,   896,    -1,   610,   489,   896,    -1,    -1,    26,   622,
     275,   906,   612,   615,    -1,    -1,    26,   368,   614,   613,
     528,    -1,    -1,   911,    -1,    -1,   126,   276,    -1,   160,
     276,    -1,   617,    -1,   615,   489,   617,    -1,    24,   621,
      -1,   616,   550,   624,    -1,    24,   551,    -1,   616,   487,
     548,   488,    -1,    -1,    32,   621,   905,   618,   556,   624,
      -1,    -1,    -1,   418,   621,   905,   619,   558,   575,   620,
     624,    -1,    44,   621,   905,   623,    -1,    44,   143,   171,
     608,    -1,    44,   234,   171,    -1,    44,   600,   905,    -1,
     125,   170,    -1,   130,   170,    -1,    26,   621,   905,   260,
     119,   898,    -1,    26,   621,   905,    44,   119,    -1,   249,
     625,   906,    -1,   115,   280,   579,   581,   585,    -1,   536,
      -1,   763,    -1,    -1,   112,    -1,    -1,   159,    -1,    -1,
     254,    -1,   103,    -1,    -1,    25,   911,    -1,   139,    -1,
      -1,   280,    -1,    10,    -1,    88,    -1,    -1,    73,    70,
     631,   627,   635,    -1,    76,    70,   631,    -1,    -1,    70,
      73,   631,   628,   635,    -1,    70,    76,   631,    -1,    73,
     282,   630,    -1,    -1,   306,    36,    71,    -1,    -1,   632,
     633,    -1,   634,    -1,   633,   489,   634,    -1,    -1,    72,
      -1,    51,    -1,    -1,    82,   636,    -1,   512,    -1,   636,
     489,   512,    -1,    -1,   253,   932,   638,   790,   144,   909,
      -1,    -1,    92,   932,   640,   790,   280,   909,    -1,    -1,
     106,   932,   642,   790,   643,    -1,    -1,   339,    -1,   136,
      -1,    -1,    62,   658,   932,   645,   790,   646,    -1,    -1,
     647,    -1,   648,    -1,   648,   647,    -1,   339,    -1,   136,
      -1,   299,    -1,    -1,    27,   658,   932,   650,   790,   653,
      -1,    -1,   107,   932,   652,   790,   653,    -1,    -1,   654,
      -1,   655,    -1,   655,   654,    -1,   339,    -1,   325,    -1,
     206,    -1,   136,    -1,   318,    -1,    -1,    60,   658,   932,
     657,   790,   653,    -1,    -1,   308,    -1,   179,    -1,    -1,
     249,   932,   660,   661,    -1,   662,    -1,   661,   489,   662,
      -1,   906,   280,   906,    -1,   102,   161,   664,   167,   666,
      -1,   665,    -1,   664,   489,   665,    -1,   906,   671,    -1,
     911,    -1,   119,    -1,    -1,    53,   161,   166,   102,   668,
     669,    -1,   670,    -1,   669,   489,   670,    -1,   906,   671,
     674,    -1,    -1,   672,   673,    -1,    -1,   601,   487,   747,
     488,    -1,    -1,   159,   174,    -1,   676,    -1,    68,   678,
      -1,   487,   677,   488,   979,    -1,    68,   680,    -1,   487,
     677,   488,    -1,    -1,   680,   679,   976,    -1,    -1,    -1,
     681,   685,   689,   682,   683,   688,    -1,   762,   768,    -1,
     783,    -1,   684,    -1,   783,   684,    -1,   684,   783,    -1,
     144,   731,   754,   759,   756,   762,   768,   774,    -1,   144,
      42,   754,   768,    -1,    -1,   686,    -1,   686,   687,    -1,
     687,    -1,   272,    -1,   155,    -1,   127,    -1,   472,    -1,
     468,    -1,   473,    -1,   470,    -1,   471,    -1,   469,    -1,
      86,    -1,    -1,   389,    83,    -1,    55,   167,   442,   417,
      -1,   689,   489,   690,    -1,   690,    -1,   481,    -1,   691,
     693,   692,   694,    -1,    -1,    -1,   902,    -1,   696,    -1,
      -1,    88,   911,    -1,    88,   909,    -1,   911,    -1,   909,
      -1,    -1,   487,   488,    -1,   699,    -1,   703,    -1,    10,
      -1,    13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,
      -1,    86,    -1,    28,    -1,   696,   167,   487,   719,   488,
      -1,   696,   216,   167,   487,   719,   488,    -1,   696,   167,
     988,    -1,   696,   216,   167,   988,    -1,   696,   358,   701,
      87,   696,    -1,   696,   216,   358,   701,    87,   696,    -1,
     696,   227,   696,    -1,   696,   226,   696,    -1,   696,   310,
     696,    -1,   696,    87,   696,    -1,   696,    12,   177,   696,
      -1,   696,   177,   703,   758,    -1,   696,   216,   177,   703,
     758,    -1,   696,   247,   696,    -1,   696,   216,   247,   696,
      -1,   696,    18,   218,    -1,   696,    18,   216,   218,    -1,
     696,    11,   696,    -1,   696,   697,   696,    -1,   696,   697,
     698,   988,    -1,   696,    20,   696,    -1,   696,    21,   696,
      -1,   696,   480,   696,    -1,   696,   479,   696,    -1,   696,
     481,   696,    -1,   696,   482,   696,    -1,   696,     9,   696,
      -1,   696,    19,   696,    -1,   696,   477,   696,    -1,   696,
     484,   696,    -1,   696,   478,   696,    -1,   696,   483,   696,
      -1,   696,   480,   702,   749,    -1,   696,   479,   702,   749,
      -1,   700,   358,   701,    87,   696,    -1,   700,   216,   358,
     701,    87,   696,    -1,   700,   227,   696,    -1,   700,   226,
     696,    -1,   700,   310,   696,    -1,   700,    87,   696,    -1,
     700,    12,   177,   696,    -1,   700,   177,   703,   758,    -1,
     700,   216,   177,   703,   758,    -1,   700,   247,   696,    -1,
     700,   216,   247,   696,    -1,   700,    18,   218,    -1,   700,
      18,   216,   218,    -1,   700,    11,   696,    -1,   700,   697,
     696,    -1,   700,   697,   698,   988,    -1,   700,    20,   696,
      -1,   700,    21,   696,    -1,   700,   480,   696,    -1,   700,
     479,   696,    -1,   700,   481,   696,    -1,   700,   482,   696,
      -1,   700,     9,   696,    -1,   700,   477,   696,    -1,   700,
     484,   696,    -1,   700,   478,   696,    -1,   700,   483,   696,
      -1,   700,    19,   696,    -1,   700,   480,   702,   749,    -1,
     700,   479,   702,   749,    -1,   703,    -1,   701,   167,   487,
     719,   488,    -1,   701,   216,   167,   487,   719,   488,    -1,
     701,   167,   988,    -1,   701,   216,   167,   988,    -1,   701,
     358,   701,    87,   696,    -1,   701,   216,   358,   701,    87,
     696,    -1,   701,   227,   696,    -1,   701,   226,   696,    -1,
     701,   310,   696,    -1,   701,    12,   177,   696,    -1,   701,
     177,   703,   758,    -1,   701,   216,   177,   703,   758,    -1,
     701,   247,   696,    -1,   701,   216,   247,   696,    -1,   701,
      18,   218,    -1,   701,    18,   216,   218,    -1,   701,    11,
     696,    -1,   701,   697,   696,    -1,   701,   697,   698,   988,
      -1,   701,    20,   696,    -1,   701,    21,   696,    -1,   701,
     480,   696,    -1,   701,   479,   696,    -1,   701,   481,   696,
      -1,   701,   482,   696,    -1,   701,     9,   696,    -1,   701,
     477,   696,    -1,   701,   484,   696,    -1,   701,   478,   696,
      -1,   701,   483,   696,    -1,   701,    19,   696,    -1,   701,
     480,   702,   749,    -1,   701,   479,   702,   749,    -1,   703,
      -1,   405,   696,    -1,   904,    -1,   703,   109,   912,    -1,
     899,    -1,   897,    -1,   493,   912,    22,   696,    -1,   493,
     912,    -1,   493,   493,   923,   912,   609,    -1,   709,    -1,
     480,   696,    -1,   479,   696,    -1,   485,   696,    -1,   216,
     696,    -1,   490,   696,    -1,   487,   696,   488,    -1,   487,
     696,   489,   719,   488,    -1,   258,   487,   696,   489,   719,
     488,    -1,   135,   986,    -1,   984,    -1,   491,   911,   696,
     492,    -1,   201,   722,   356,   487,   696,   705,   488,    -1,
     314,   487,   696,   488,    -1,    94,   696,    -1,   104,   487,
     696,    88,   718,   488,    -1,   362,   726,   460,   728,   727,
     466,    -1,   115,   487,   696,   489,   718,   488,    -1,   115,
     487,   696,   301,   580,   488,    -1,   119,   487,   904,   488,
      -1,   303,   487,   904,   488,    -1,   286,   487,   488,    -1,
     287,   487,   696,   488,    -1,   288,   487,   696,   489,   696,
     488,    -1,   289,   487,   696,   489,   696,   489,   696,   488,
      -1,    78,   487,   696,   489,   696,   488,    -1,    78,   487,
     696,   489,   405,   696,   749,   488,    -1,   357,   487,   696,
     488,    -1,   357,   487,   696,   489,   696,   488,    -1,   317,
     487,   719,   488,    -1,   317,   487,   719,   301,   580,   488,
      -1,   105,   487,   696,   488,    -1,   319,   487,   719,   488,
      -1,   110,   487,   696,   488,    -1,   363,   487,   719,   488,
      -1,   364,   487,   696,   489,   719,   488,    -1,   365,   487,
     696,   489,   696,   489,   696,   488,    -1,   366,   695,    -1,
     367,   695,    -1,   367,   487,   696,   488,    -1,   116,   695,
      -1,   369,   487,   696,   489,   702,   749,   488,    -1,   370,
     487,   696,   489,   702,   749,   488,    -1,   368,   487,   488,
      -1,   321,   487,   696,   488,    -1,   375,   487,   696,   488,
      -1,   380,   487,   696,   489,   719,   488,    -1,   411,   487,
     696,   489,   719,   488,    -1,   384,   487,   696,   488,    -1,
     384,   487,   696,   489,   696,   488,    -1,   376,   487,   696,
     489,   910,   488,    -1,   381,   487,   696,   489,   910,   488,
      -1,   378,   487,   696,   488,    -1,   378,   487,   696,   489,
     696,   488,    -1,   377,   487,   696,   488,    -1,   377,   487,
     696,   489,   696,   488,    -1,   385,   487,   696,   489,   696,
     489,   696,   488,    -1,   385,   487,   696,   489,   696,   489,
     696,   489,   696,   488,    -1,   385,   487,   696,   489,   696,
     489,   696,   489,   696,   489,   696,   488,    -1,   388,   487,
     696,   489,   219,   488,    -1,   390,   487,   696,   488,    -1,
     390,   487,   696,   489,   696,   488,    -1,   387,   487,   696,
     489,   719,   488,    -1,   704,    -1,   397,   487,   750,   489,
     696,   488,    -1,   401,   487,   696,   488,    -1,   403,   487,
     696,   489,   696,   489,   696,   488,    -1,    50,   487,   696,
     489,   696,   489,   696,   489,   696,   488,    -1,   702,   749,
     480,   696,    -1,   702,    -1,   406,   487,   488,    -1,   406,
     487,   696,   488,    -1,   407,   487,   696,   489,   696,   488,
      -1,   410,   487,   696,   489,   696,   488,    -1,   410,   487,
     696,   489,   696,   489,   696,   488,    -1,   150,   487,   696,
     489,   719,   488,    -1,   173,   487,   696,   489,   719,   488,
      -1,   180,   487,   696,   488,    -1,   180,   487,   696,   489,
     696,   488,    -1,   412,   487,   696,   489,   696,   488,    -1,
     412,   487,   696,   489,   696,   489,   696,   488,    -1,   413,
     487,   696,   488,    -1,   416,   487,   696,   488,    -1,    19,
     487,   696,   489,   696,   488,    -1,   419,   487,   696,   488,
      -1,   426,   695,    -1,   426,   487,   696,   488,    -1,   428,
     487,   696,   488,    -1,   427,   487,   696,   488,    -1,   434,
     487,   700,   167,   696,   488,    -1,   436,   487,   696,   488,
      -1,   436,   487,   488,    -1,   437,   487,   696,   489,   696,
     489,   696,   488,    -1,   438,   487,   696,   489,   696,   488,
      -1,   439,   487,   696,   488,    -1,   439,   487,   696,   489,
     696,   488,    -1,   443,   487,   696,   489,   696,   488,    -1,
     443,   487,   696,   489,   405,   696,   749,   488,    -1,   440,
     487,   696,   488,    -1,   444,   487,   696,   489,   696,   489,
     696,   488,    -1,   444,   487,   696,   489,   696,   488,    -1,
     444,   487,   696,   144,   696,   389,   696,   488,    -1,   444,
     487,   696,   144,   696,   488,    -1,   445,   487,   696,   489,
     696,   489,   696,   488,    -1,   346,   487,   696,   488,    -1,
     345,   487,   696,   488,    -1,   345,   487,   696,   489,   696,
     488,    -1,   446,   487,   696,   488,    -1,   446,   487,   172,
     696,   144,   696,   488,    -1,   446,   487,   281,   696,   144,
     696,   488,    -1,   446,   487,    98,   696,   144,   696,   488,
      -1,   446,   487,   172,   144,   696,   488,    -1,   446,   487,
     281,   144,   696,   488,    -1,   446,   487,    98,   144,   696,
     488,    -1,   446,   487,   696,   144,   696,   488,    -1,    80,
     487,   696,   489,   696,   488,    -1,   447,   487,   707,   488,
      -1,   448,   487,   707,   488,    -1,   449,   487,   707,   488,
      -1,   450,   487,   706,   488,    -1,   451,   487,   706,   488,
      -1,   452,   487,   706,   488,    -1,   453,   487,   895,   489,
     219,   489,   219,   489,   719,   488,    -1,   454,   487,   488,
      -1,   454,   487,   696,   488,    -1,   455,   487,   488,    -1,
     456,   695,    -1,   457,   695,    -1,   458,   695,    -1,   459,
     487,   696,   488,    -1,   459,   487,   696,   489,   696,   488,
      -1,   463,   487,   696,   488,    -1,   464,   487,   696,   488,
      -1,   464,   487,   696,   489,   696,   488,    -1,   465,   487,
     772,   489,   696,   488,    -1,   386,   487,   749,   144,   696,
     488,    -1,   392,   487,   696,   488,    -1,   392,   487,   696,
     489,   696,   488,    -1,   393,   487,   696,   488,    -1,   393,
     487,   696,   489,   696,   488,    -1,   394,   487,   719,   488,
      -1,   409,   487,   719,   488,    -1,   423,   487,   719,   488,
      -1,   420,   487,   696,   488,    -1,   420,   487,   696,   489,
     696,   488,    -1,   421,   487,   696,   488,    -1,   421,   487,
     696,   489,   696,   488,    -1,   422,   487,   696,   488,    -1,
     422,   487,   696,   489,   696,   488,    -1,   424,   487,   719,
     488,    -1,   425,   487,   719,   488,    -1,   431,   487,   696,
     489,   696,   488,    -1,   430,   487,   696,   488,    -1,   430,
     487,   696,   489,   696,   488,    -1,   432,   487,   696,   488,
      -1,   432,   487,   696,   489,   696,   488,    -1,   433,   487,
     719,   488,    -1,   391,   487,   696,   488,    -1,   391,   487,
     696,   489,   696,   488,    -1,   408,   487,   696,   488,    -1,
     408,   487,   696,   489,   696,   488,    -1,    -1,   306,   238,
      47,    -1,   167,    97,   417,    -1,    -1,   719,    -1,    -1,
     708,   706,    -1,    29,   487,   716,   488,    -1,   359,   487,
     716,   488,    -1,   360,   487,   716,   488,    -1,   361,   487,
     716,   488,    -1,    37,   487,   753,   481,   488,    -1,    37,
     487,   716,   488,    -1,    -1,    -1,    37,   487,   127,   710,
     719,   711,   488,    -1,   396,   487,   895,   489,   219,   489,
     219,   489,   716,   488,    -1,    58,   487,   716,   488,    -1,
      57,   487,   716,   488,    -1,    74,   487,   716,   488,    -1,
      75,   487,   716,   488,    -1,    77,   487,   716,   488,    -1,
      -1,   395,   487,   713,   712,   719,   715,   714,   488,    -1,
      -1,   127,    -1,    -1,   261,   896,    -1,    -1,   763,    -1,
      -1,   753,   717,   696,    -1,    94,   573,    -1,   317,   573,
     588,    -1,   213,   573,    -1,   341,    -1,   341,   328,    -1,
     351,    -1,   351,   328,    -1,   321,    -1,   346,    -1,   320,
      -1,    -1,   720,   721,    -1,   696,    -1,   721,   489,   696,
      -1,   723,    -1,   487,   723,   488,    -1,    -1,   724,   725,
      -1,   904,    -1,   725,   489,   904,    -1,    -1,   696,    -1,
      -1,   379,   696,    -1,    -1,   729,   730,    -1,   696,   467,
     696,    -1,   730,   460,   696,   467,   696,    -1,   736,    -1,
     731,   489,   731,    -1,   731,   735,   731,    -1,   731,   272,
     731,    -1,   731,   735,   731,   221,   696,    -1,    -1,   731,
     735,   731,   301,   732,   487,   748,   488,    -1,   731,   407,
     742,   169,   731,   221,   696,    -1,    -1,   731,   407,   742,
     169,   731,   733,   301,   487,   748,   488,    -1,   731,   210,
     407,   742,   169,   731,    -1,   731,   438,   742,   169,   731,
     221,   696,    -1,    -1,   731,   438,   742,   169,   731,   734,
     301,   487,   748,   488,    -1,   731,   210,   438,   742,   169,
     731,    -1,   731,   210,   169,   731,    -1,   169,    -1,   164,
     169,    -1,    39,   169,    -1,    -1,   737,   906,   752,   743,
      -1,   491,   911,   736,   407,   229,   169,   736,   221,   696,
     492,    -1,   487,   738,   979,   488,   752,    -1,   487,   731,
     488,    -1,    68,   739,    -1,   487,   738,   488,    -1,    -1,
      -1,   740,   685,   689,   741,   545,    -1,    -1,   229,    -1,
      -1,   300,   744,    -1,   142,   744,    -1,   159,   744,    -1,
      -1,   600,   745,   487,   746,   488,    -1,    -1,   747,    -1,
     747,   489,   911,    -1,   911,    -1,   234,    -1,   911,    -1,
     748,   489,   911,    -1,   371,    -1,   372,    -1,   373,    -1,
     374,    -1,   375,    -1,   398,    -1,   399,    -1,   400,    -1,
     401,    -1,   413,    -1,   414,    -1,   415,    -1,   416,    -1,
     419,    -1,   441,    -1,   440,    -1,   462,    -1,   463,    -1,
     321,    -1,   346,    -1,   320,    -1,   345,    -1,    -1,    88,
      -1,    10,    -1,    -1,   751,   911,    -1,    -1,    86,    -1,
      -1,    -1,   305,   755,   696,    -1,    -1,    -1,   152,   757,
     696,    -1,   134,   703,    -1,    -1,    -1,   151,   100,   760,
     761,    -1,   760,   489,   903,   766,    -1,   903,   766,    -1,
      -1,   306,    40,    -1,   306,    66,    -1,    -1,   763,    -1,
      -1,   228,   100,   764,   765,    -1,   765,   489,   903,   766,
      -1,   903,   766,    -1,    -1,    89,    -1,   122,    -1,    -1,
     769,    -1,    -1,   769,    -1,   329,   770,    -1,   772,    -1,
     772,   489,   772,    -1,   772,   220,   772,    -1,    -1,   329,
     773,    -1,   219,    -1,   182,    -1,   350,    -1,   245,    -1,
     141,    -1,   219,    -1,   350,    -1,   182,    -1,   245,    -1,
     141,    -1,    -1,    -1,   435,   911,   775,   487,   776,   488,
      -1,    -1,   777,    -1,   777,   489,   778,    -1,   778,    -1,
     691,   696,    -1,    -1,   780,   781,    -1,   781,   489,   782,
      -1,   782,    -1,   493,   912,    -1,    -1,   166,   230,   909,
     784,   888,   891,    -1,   166,   231,   909,    -1,   166,   779,
      -1,    -1,    43,   786,   719,    -1,    44,   793,   932,   792,
     790,   623,    -1,    -1,    44,   161,   911,   221,   906,   788,
      -1,    44,   368,   792,   911,    -1,    44,   292,   908,    -1,
      -1,    44,   455,   789,   961,    -1,   791,    -1,   790,   489,
     791,    -1,   906,    -1,    -1,   403,   135,    -1,    -1,   277,
      -1,    -1,    -1,    50,   795,   800,   622,   802,   796,   804,
     821,    -1,    -1,    -1,   437,   798,   801,   802,   799,   804,
      -1,    -1,   184,    -1,   120,    -1,   155,    -1,   830,    -1,
     120,    -1,   166,   803,    -1,   803,    -1,   791,    -1,   808,
      -1,   487,   488,   808,    -1,   487,   807,   488,   808,    -1,
      -1,   260,   805,   812,    -1,    -1,   487,   807,   488,    -1,
     487,   488,    -1,   807,   489,   901,    -1,   901,    -1,   303,
     811,    -1,   302,   811,    -1,    -1,   524,   809,   976,    -1,
      -1,   487,   524,   488,   810,   979,    -1,   811,   489,   816,
      -1,   816,    -1,   812,   489,   813,    -1,   813,    -1,   904,
     814,   820,    -1,    10,    -1,    22,    -1,    -1,   814,    -1,
      -1,   487,   817,   818,   488,    -1,    -1,   819,    -1,   819,
     489,   820,    -1,   820,    -1,   696,    -1,   119,    -1,    -1,
      -1,   221,   128,   822,   171,    83,   828,    -1,    -1,    -1,
      83,   824,   830,   622,   731,   260,   826,   825,   754,   762,
     771,    -1,   826,   489,   827,    -1,   827,    -1,   904,   814,
     820,    -1,   828,   489,   829,    -1,   829,    -1,   904,   814,
     820,    -1,    -1,   184,    -1,    -1,    41,   832,   842,   833,
      -1,    -1,   144,   906,   834,   754,   762,   771,    -1,    -1,
      -1,   839,   835,   144,   731,   836,   754,    -1,    -1,    -1,
     144,   839,   837,   301,   731,   838,   754,    -1,   840,    -1,
     839,   489,   840,    -1,   911,   841,   752,    -1,   911,   494,
     911,   841,   752,    -1,    -1,   494,   481,    -1,    -1,   843,
     842,    -1,   339,    -1,   184,    -1,   159,    -1,    80,   845,
     791,    -1,    -1,   275,    -1,    -1,    69,   847,   848,    -1,
     117,   855,    -1,   274,   854,   855,    -1,   275,   270,   854,
     855,    -1,   223,   274,   854,   855,    -1,    -1,   382,   541,
     849,   851,    -1,   856,   111,   857,   906,   854,   855,    -1,
     212,    56,   389,    70,   306,   187,    10,   909,    87,   188,
      10,   773,    87,   192,    10,   772,    -1,   852,   181,    -1,
      70,   156,    -1,    -1,    31,    45,   858,   859,   850,   767,
      -1,   602,   857,   906,   854,    -1,   112,   285,    -1,   275,
     285,    -1,   853,   383,    -1,   235,    -1,    37,   487,   481,
     488,   313,    -1,    37,   487,   481,   488,   312,    -1,   313,
     767,    -1,   312,   767,    -1,   270,   855,    -1,   165,   270,
      -1,   856,   237,    -1,   922,   304,   855,    -1,   579,   855,
      -1,   110,   855,    -1,    93,   181,    -1,   181,    -1,   149,
      -1,   149,   389,   913,    -1,    38,   368,   534,   911,    -1,
      38,   275,   906,    -1,    56,   270,    -1,    70,   270,    -1,
     270,    -1,   181,    -1,    56,    -1,    94,    -1,    -1,   271,
      -1,    -1,   857,   911,    -1,    -1,   177,   909,    -1,    -1,
     145,    -1,   144,    -1,   167,    -1,    -1,   167,   909,    -1,
      -1,   144,   773,    -1,    -1,   863,   906,   861,   865,    -1,
      -1,   863,   864,   862,   675,    -1,   122,    -1,   123,    -1,
      -1,   136,    -1,    -1,   896,    -1,   911,    -1,    -1,    48,
     658,   867,   868,    -1,   868,   489,   869,    -1,   869,    -1,
      -1,   932,   870,   871,    -1,   274,   306,   244,    55,    -1,
     238,   102,    -1,   156,    -1,   235,    -1,   181,    -1,   270,
      -1,    70,    -1,    56,    -1,   124,    -1,   252,    -1,    -1,
     790,    -1,    -1,    64,   873,   874,    -1,   874,   489,   875,
      -1,   875,    -1,    70,    -1,    56,    -1,   238,   102,    -1,
      -1,    61,   877,   878,    -1,   852,   181,   879,    -1,   280,
     909,    -1,   476,   696,    -1,    -1,    52,   881,   696,    -1,
     300,   911,    -1,    -1,    53,   118,   886,   885,   163,   909,
     884,   887,   166,   275,   906,   888,   891,   894,   806,    -1,
      53,   275,   906,   144,    56,    -1,    53,   118,   144,    56,
      -1,    -1,   179,    -1,    -1,   113,    -1,   184,    -1,    -1,
     437,    -1,   159,    -1,    -1,   111,   889,    -1,   889,   890,
      -1,   890,    -1,   278,   100,   896,    -1,   225,   131,   100,
     896,    -1,   131,   100,   896,    -1,   132,   100,   896,    -1,
      -1,   178,   892,    -1,   892,   893,    -1,   893,    -1,   278,
     100,   896,    -1,   269,   100,   896,    -1,    -1,   159,   219,
     178,    -1,   910,    -1,   214,    -1,   294,   279,    -1,   895,
     910,    -1,   910,    -1,   154,    -1,   429,    -1,   899,    -1,
     480,   900,    -1,   479,   900,    -1,   895,    -1,   900,    -1,
     218,    -1,   137,    -1,   283,    -1,   154,    -1,   294,   154,
      -1,   321,   895,    -1,   346,   895,    -1,   345,   895,    -1,
     219,    -1,   182,    -1,   350,    -1,   245,    -1,   141,    -1,
     904,    -1,   902,    -1,   911,   494,   481,    -1,   911,   494,
     911,   494,   481,    -1,   696,    -1,   911,    -1,   911,   494,
     911,    -1,   494,   911,   494,   911,    -1,   911,   494,   911,
     494,   911,    -1,   911,    -1,   911,   494,   911,   494,   911,
      -1,   911,   494,   911,    -1,   494,   911,    -1,   911,    -1,
     911,   494,   911,    -1,   494,   911,    -1,   911,    -1,   157,
      -1,   158,    -1,   279,    -1,   279,    -1,   908,    -1,   914,
      -1,   911,    -1,   909,    -1,   176,    -1,   912,    -1,   912,
     493,   912,    -1,   116,   695,    -1,    84,    -1,    78,    -1,
      25,    -1,   356,    -1,    85,    -1,    28,    -1,   314,    -1,
      90,    -1,    91,    -1,    29,    -1,    92,    -1,    30,    -1,
      93,    -1,    31,    -1,    95,    -1,    96,    -1,    97,    -1,
     101,    -1,    99,    -1,   102,    -1,   318,    -1,   105,    -1,
     106,    -1,   475,    -1,    33,    -1,     4,    -1,   110,    -1,
      34,    -1,   108,    -1,    35,    -1,   311,    -1,   113,    -1,
      36,    -1,    40,    -1,   118,    -1,   320,    -1,   321,    -1,
     375,    -1,   338,    -1,   121,    -1,   124,    -1,   133,    -1,
     126,    -1,    43,    -1,   231,    -1,   128,    -1,   129,    -1,
     466,    -1,   324,    -1,   382,    -1,   383,    -1,   312,    -1,
     134,    -1,    45,    -1,    46,    -1,    47,    -1,   136,    -1,
     325,    -1,   125,    -1,   130,    -1,   145,    -1,   138,    -1,
     139,    -1,   140,    -1,    48,    -1,   327,    -1,   394,    -1,
     397,    -1,   149,    -1,   147,    -1,     5,    -1,   153,    -1,
      49,    -1,   156,    -1,   401,    -1,   402,    -1,   160,    -1,
     162,    -1,   168,    -1,   474,    -1,   165,    -1,   404,    -1,
      51,    -1,     6,    -1,   174,    -1,   175,    -1,   409,    -1,
     179,    -1,    54,    -1,   181,    -1,   202,    -1,    56,    -1,
     185,    -1,   190,    -1,   187,    -1,   188,    -1,   186,    -1,
     189,    -1,   192,    -1,   191,    -1,   193,    -1,   194,    -1,
     195,    -1,   196,    -1,   197,    -1,   198,    -1,   203,    -1,
     204,    -1,   205,    -1,   206,    -1,   413,    -1,   416,    -1,
     207,    -1,   418,    -1,   417,    -1,   419,    -1,   423,    -1,
     424,    -1,   425,    -1,   208,    -1,   209,    -1,   213,    -1,
     211,    -1,     7,    -1,   212,    -1,   217,    -1,    59,    -1,
     215,    -1,   220,    -1,   427,    -1,   222,    -1,   223,    -1,
     232,    -1,   233,    -1,   428,    -1,   431,    -1,   433,    -1,
     337,    -1,     8,    -1,   236,    -1,   237,    -1,   238,    -1,
     339,    -1,   239,    -1,   242,    -1,   243,    -1,   240,    -1,
     241,    -1,   199,    -1,   200,    -1,   248,    -1,    62,    -1,
     250,    -1,    63,    -1,    64,    -1,   252,    -1,   253,    -1,
      65,    -1,    66,    -1,   256,    -1,   257,    -1,   258,    -1,
     259,    -1,    67,    -1,   440,    -1,   262,    -1,   263,    -1,
     264,    -1,   341,    -1,   265,    -1,   442,    -1,   266,    -1,
      70,    -1,    71,    -1,    12,    -1,   469,    -1,   473,    -1,
     471,    -1,    72,    -1,    73,    -1,   270,    -1,    76,    -1,
     271,    -1,   343,    -1,   443,    -1,   273,    -1,    79,    -1,
     276,    -1,   277,    -1,   344,    -1,   282,    -1,    80,    -1,
     345,    -1,   346,    -1,   284,    -1,   285,    -1,   290,    -1,
     292,    -1,   293,    -1,   295,    -1,    82,    -1,   455,    -1,
     299,    -1,   304,    -1,   302,    -1,   313,    -1,   461,    -1,
     309,    -1,   463,    -1,    -1,   260,   917,   916,   918,    -1,
      -1,   224,    -1,   919,    -1,   918,   489,   919,    -1,   920,
     924,    -1,   921,   925,    -1,   921,    -1,   147,    -1,   179,
      -1,   264,    -1,    -1,   222,    -1,    -1,   147,    -1,   179,
      -1,   264,    -1,    -1,   147,   494,    -1,   179,   494,    -1,
     264,   494,    -1,   926,   814,   929,    -1,   282,   168,   175,
     927,    -1,   493,   912,   814,   696,    -1,   493,   493,   923,
     926,   814,   929,    -1,   579,   583,    -1,   208,   581,   585,
      -1,   428,   814,   928,    -1,   428,   389,   913,   814,   928,
      -1,   911,    -1,   911,   494,   911,    -1,   119,   494,   911,
      -1,   244,   293,    -1,   244,   108,    -1,   250,   244,    -1,
     263,    -1,   279,    -1,   428,   487,   279,   488,    -1,   427,
     487,   279,   488,    -1,   696,    -1,   119,    -1,   221,    -1,
      86,    -1,    94,    -1,    -1,    55,   932,   931,   933,    -1,
     275,    -1,   274,    -1,   934,    -1,   933,   489,   934,    -1,
     906,   752,   935,    -1,   244,    -1,   307,    -1,   184,   307,
      -1,   244,   179,    -1,    81,   932,    -1,     5,   906,   223,
     752,    -1,     5,   907,     4,    -1,    -1,     5,   907,   244,
     938,   939,   754,   768,    -1,   940,    -1,   911,   941,    -1,
     139,    -1,     7,    -1,   139,    -1,     7,    -1,     8,    -1,
       6,    -1,    -1,   943,   942,   487,   819,   488,    -1,    10,
      -1,    13,    -1,    15,    -1,    14,    -1,    16,    -1,    -1,
     255,   945,   946,    -1,   949,   221,   960,   144,   961,    -1,
      86,   950,   489,   148,   224,   144,   961,    -1,    -1,   148,
     948,   949,   221,   960,   280,   961,   966,   967,    -1,   951,
      -1,    86,   950,    -1,    -1,   235,    -1,   952,    -1,   951,
     489,   952,    -1,    -1,    68,   953,   963,    -1,    -1,    50,
     954,   963,    -1,    -1,    83,   955,   963,    -1,    -1,   246,
     956,   963,    -1,    41,    -1,   298,    -1,   161,    -1,    26,
      -1,    38,    -1,    44,    -1,    46,    -1,   248,    -1,   266,
      -1,   236,    -1,   138,    -1,   148,   224,    -1,    69,   117,
      -1,    79,    -1,    38,   277,   274,    -1,    55,   274,    -1,
      63,    70,    -1,    63,    33,    -1,    -1,    87,    -1,   959,
     957,   958,    -1,   959,    -1,   273,   279,    -1,   474,   279,
      -1,   475,   279,    -1,   481,    -1,   911,   494,   481,    -1,
     481,   494,   481,    -1,   906,    -1,   962,    -1,   961,   489,
     962,    -1,   913,   402,   100,   279,    -1,   913,   402,   100,
     428,   279,    -1,   913,    -1,    -1,   487,   964,   488,    -1,
     964,   489,   965,    -1,   965,    -1,   911,    -1,    -1,   251,
     958,    -1,   251,   268,    -1,   251,   309,    -1,   251,    59,
      -1,    -1,   306,   968,    -1,   968,   969,    -1,   969,    -1,
     148,   224,    -1,   204,   772,    -1,   205,   772,    -1,   203,
     772,    -1,    -1,    30,   971,   972,    -1,    -1,   461,    -1,
      35,    -1,    65,    -1,    65,   280,    67,   911,    -1,    67,
     911,    -1,    -1,   977,    -1,    -1,   296,   983,   978,   676,
      -1,   977,    -1,   980,    -1,    -1,    -1,   981,   982,    -1,
     763,   767,    -1,   769,    -1,    -1,   127,    -1,    86,    -1,
     990,   985,   991,    -1,   678,    -1,   990,   987,   991,    -1,
     678,    -1,   990,   989,   991,    -1,   678,    -1,   487,    68,
      -1,   488,    -1
};

/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
static const unsigned short int yyrline[] =
{
       0,   746,   746,   760,   763,   764,   765,   766,   767,   768,
     769,   770,   771,   772,   773,   774,   775,   776,   777,   778,
     779,   780,   781,   782,   783,   784,   785,   786,   787,   788,
     789,   790,   791,   792,   793,   794,   795,   796,   797,   798,
     799,   800,   801,   802,   803,   804,   805,   806,   807,   811,
     825,   826,   831,   845,   852,   862,   861,   877,   879,   883,
     884,   887,   899,   910,   909,   920,   921,   924,   929,   934,
     939,   944,   948,   953,   957,   961,   965,   969,   974,   978,
     982,   998,  1002,  1014,  1013,  1037,  1036,  1056,  1055,  1068,
    1067,  1083,  1084,  1085,  1091,  1100,  1101,  1101,  1105,  1107,
    1106,  1109,  1108,  1114,  1126,  1113,  1134,  1135,  1138,  1139,
    1142,  1143,  1146,  1147,  1150,  1151,  1154,  1155,  1158,  1161,
    1162,  1164,  1166,  1169,  1170,  1173,  1174,  1175,  1178,  1179,
    1180,  1181,  1182,  1183,  1184,  1185,  1186,  1187,  1188,  1189,
    1190,  1191,  1192,  1193,  1194,  1207,  1208,  1209,  1210,  1212,
    1215,  1232,  1248,  1258,  1259,  1260,  1261,  1264,  1265,  1266,
    1269,  1270,  1271,  1274,  1275,  1278,  1279,  1282,  1283,  1284,
    1287,  1288,  1292,  1293,  1297,  1298,  1305,  1311,  1319,  1333,
    1337,  1343,  1345,  1349,  1353,  1354,  1358,  1363,  1362,  1384,
    1385,  1386,  1387,  1389,  1391,  1393,  1395,  1397,  1400,  1403,
    1406,  1409,  1411,  1414,  1417,  1418,  1419,  1420,  1433,  1434,
    1436,  1438,  1450,  1452,  1454,  1456,  1457,  1458,  1459,  1460,
    1461,  1463,  1465,  1467,  1467,  1469,  1469,  1471,  1472,  1481,
    1482,  1483,  1484,  1485,  1486,  1487,  1488,  1492,  1496,  1497,
    1501,  1502,  1506,  1507,  1508,  1509,  1510,  1514,  1515,  1516,
    1517,  1518,  1521,  1523,  1524,  1528,  1529,  1530,  1533,  1540,
    1541,  1544,  1545,  1548,  1549,  1550,  1553,  1554,  1557,  1558,
    1561,  1562,  1565,  1566,  1569,  1570,  1571,  1572,  1574,  1575,
    1581,  1587,  1593,  1599,  1600,  1601,  1617,  1618,  1622,  1623,
    1627,  1635,  1639,  1640,  1644,  1653,  1657,  1658,  1661,  1671,
    1672,  1676,  1677,  1680,  1681,  1684,  1685,  1686,  1687,  1695,
    1697,  1699,  1704,  1703,  1715,  1716,  1719,  1720,  1724,  1725,
    1728,  1729,  1732,  1733,  1734,  1735,  1736,  1739,  1740,  1741,
    1742,  1743,  1746,  1747,  1748,  1760,  1761,  1764,  1765,  1768,
    1769,  1773,  1774,  1775,  1778,  1779,  1780,  1781,  1794,  1795,
    1796,  1799,  1800,  1804,  1807,  1808,  1811,  1812,  1827,  1828,
    1831,  1832,  1835,  1836,  1844,  1843,  1869,  1868,  1882,  1883,
    1886,  1887,  1888,  1889,  1890,  1893,  1901,  1902,  1908,  1910,
    1909,  1918,  1928,  1917,  1940,  1948,  1949,  1957,  1965,  1966,
    1967,  1974,  1982,  1995,  2016,  2022,  2030,  2031,  2034,  2035,
    2039,  2040,  2041,  2044,  2045,  2046,  2049,  2050,  2051,  2052,
    2060,  2059,  2070,  2078,  2077,  2087,  2097,  2105,  2106,  2113,
    2113,  2119,  2120,  2124,  2125,  2126,  2130,  2131,  2147,  2148,
    2153,  2152,  2163,  2162,  2173,  2172,  2182,  2183,  2184,  2189,
    2188,  2200,  2201,  2204,  2205,  2208,  2209,  2210,  2214,  2213,
    2226,  2225,  2236,  2237,  2240,  2241,  2244,  2245,  2246,  2247,
    2248,  2252,  2251,  2263,  2264,  2265,  2270,  2269,  2278,  2279,
    2282,  2294,  2303,  2304,  2307,  2320,  2321,  2326,  2325,  2335,
    2336,  2339,  2352,  2352,  2362,  2363,  2372,  2373,  2382,  2392,
    2394,  2397,  2417,  2421,  2420,  2440,  2448,  2440,  2454,  2455,
    2456,  2457,  2458,  2461,  2463,  2470,  2472,  2483,  2484,  2487,
    2488,  2494,  2495,  2496,  2497,  2503,  2509,  2510,  2514,  2517,
    2519,  2525,  2535,  2536,  2537,  2547,  2558,  2561,  2564,  2565,
    2568,  2569,  2570,  2571,  2572,  2576,  2577,  2581,  2582,  2585,
    2586,  2587,  2588,  2589,  2590,  2593,  2594,  2599,  2601,  2608,
    2610,  2614,  2616,  2622,  2623,  2624,  2625,  2626,  2631,  2633,
    2635,  2636,  2638,  2639,  2640,  2641,  2642,  2646,  2647,  2648,
    2649,  2650,  2651,  2652,  2653,  2654,  2655,  2656,  2657,  2658,
    2660,  2666,  2668,  2674,  2675,  2676,  2677,  2678,  2683,  2685,
    2687,  2688,  2690,  2691,  2692,  2693,  2694,  2698,  2699,  2700,
    2701,  2702,  2703,  2704,  2705,  2706,  2707,  2708,  2709,  2710,
    2712,  2714,  2718,  2720,  2727,  2729,  2733,  2735,  2741,  2742,
    2743,  2744,  2749,  2751,  2753,  2754,  2756,  2757,  2758,  2759,
    2760,  2764,  2765,  2766,  2767,  2768,  2769,  2770,  2771,  2772,
    2773,  2774,  2775,  2776,  2778,  2780,  2783,  2787,  2788,  2795,
    2796,  2797,  2802,  2807,  2818,  2819,  2820,  2821,  2822,  2826,
    2830,  2831,  2836,  2841,  2842,  2843,  2844,  2848,  2849,  2853,
    2859,  2861,  2867,  2869,  2871,  2873,  2884,  2895,  2906,  2917,
    2919,  2921,  2923,  2925,  2927,  2929,  2931,  2933,  2935,  2937,
    2939,  2944,  2946,  2948,  2953,  2955,  2957,  2959,  2964,  2966,
    2968,  2970,  2972,  2977,  2978,  2980,  2982,  2984,  2986,  2988,
    2990,  2992,  2994,  2996,  2998,  3000,  3004,  3006,  3016,  3018,
    3020,  3022,  3024,  3027,  3036,  3041,  3046,  3048,  3050,  3052,
    3054,  3056,  3058,  3060,  3065,  3070,  3072,  3074,  3076,  3078,
    3080,  3082,  3088,  3090,  3092,  3094,  3096,  3098,  3100,  3102,
    3103,  3105,  3107,  3109,  3111,  3113,  3115,  3117,  3119,  3121,
    3123,  3125,  3127,  3129,  3131,  3133,  3135,  3137,  3139,  3141,
    3143,  3150,  3157,  3164,  3171,  3178,  3185,  3189,  3194,  3196,
    3198,  3200,  3202,  3204,  3209,  3211,  3213,  3215,  3217,  3222,
    3226,  3228,  3230,  3232,  3234,  3238,  3241,  3244,  3246,  3248,
    3250,  3252,  3254,  3256,  3259,  3262,  3264,  3266,  3268,  3270,
    3272,  3275,  3277,  3279,  3281,  3286,  3287,  3288,  3292,  3293,
    3296,  3296,  3311,  3313,  3315,  3317,  3319,  3321,  3324,  3326,
    3323,  3329,  3331,  3333,  3335,  3337,  3339,  3342,  3341,  3353,
    3354,  3357,  3358,  3363,  3366,  3378,  3377,  3393,  3394,  3395,
    3396,  3397,  3398,  3399,  3400,  3401,  3402,  3406,  3406,  3411,
    3412,  3415,  3416,  3419,  3419,  3424,  3425,  3428,  3429,  3432,
    3433,  3436,  3436,  3441,  3447,  3455,  3456,  3457,  3458,  3460,
    3464,  3462,  3472,  3475,  3474,  3482,  3488,  3491,  3490,  3498,
    3504,  3508,  3509,  3510,  3514,  3514,  3530,  3532,  3544,  3547,
    3548,  3564,  3581,  3564,  3588,  3589,  3592,  3593,  3599,  3606,
    3614,  3614,  3620,  3621,  3625,  3629,  3633,  3639,  3648,  3656,
    3657,  3658,  3659,  3660,  3661,  3662,  3663,  3664,  3665,  3666,
    3667,  3668,  3669,  3670,  3671,  3672,  3673,  3677,  3678,  3679,
    3680,  3683,  3685,  3686,  3689,  3690,  3693,  3695,  3699,  3701,
    3700,  3714,  3717,  3716,  3731,  3733,  3743,  3745,  3748,  3750,
    3754,  3755,  3768,  3785,  3787,  3791,  3790,  3823,  3825,  3829,
    3830,  3831,  3836,  3842,  3846,  3847,  3851,  3855,  3862,  3869,
    3881,  3885,  3893,  3894,  3895,  3896,  3897,  3901,  3902,  3903,
    3904,  3905,  3908,  3911,  3910,  3931,  3932,  3935,  3936,  3939,
    3951,  3951,  3961,  3962,  3965,  3975,  3974,  3983,  3995,  4006,
    4005,  4022,  4029,  4029,  4040,  4047,  4054,  4053,  4065,  4066,
    4069,  4077,  4078,  4082,  4083,  4091,  4101,  4090,  4111,  4119,
    4110,  4128,  4129,  4130,  4131,  4135,  4136,  4139,  4140,  4143,
    4152,  4153,  4154,  4156,  4155,  4165,  4166,  4167,  4170,  4171,
    4174,  4175,  4176,  4176,  4177,  4177,  4181,  4182,  4185,  4187,
    4190,  4198,  4199,  4203,  4204,  4209,  4208,  4221,  4222,  4225,
    4230,  4238,  4239,  4242,  4244,  4244,  4252,  4261,  4251,  4282,
    4283,  4286,  4293,  4294,  4297,  4306,  4307,  4313,  4312,  4326,
    4325,  4333,  4334,  4333,  4335,  4336,  4335,  4341,  4342,  4345,
    4352,  4365,  4366,  4370,  4371,  4374,  4375,  4376,  4379,  4388,
    4390,  4395,  4394,  4405,  4407,  4413,  4420,  4427,  4426,  4429,
    4437,  4447,  4451,  4456,  4455,  4460,  4468,  4473,  4479,  4484,
    4489,  4491,  4493,  4495,  4497,  4499,  4501,  4503,  4509,  4511,
    4513,  4515,  4517,  4540,  4547,  4553,  4559,  4563,  4569,  4583,
    4596,  4597,  4599,  4601,  4604,  4605,  4607,  4609,  4614,  4615,
    4618,  4619,  4622,  4623,  4626,  4627,  4633,  4632,  4643,  4642,
    4652,  4653,  4656,  4657,  4661,  4662,  4663,  4671,  4670,  4681,
    4682,  4685,  4685,  4686,  4687,  4688,  4689,  4690,  4691,  4692,
    4693,  4694,  4695,  4698,  4699,  4703,  4702,  4711,  4712,  4715,
    4716,  4717,  4721,  4720,  4729,  4733,  4738,  4762,  4762,  4775,
    4785,  4784,  4803,  4812,  4819,  4820,  4823,  4824,  4825,  4829,
    4830,  4831,  4833,  4835,  4838,  4839,  4842,  4847,  4854,  4859,
    4865,  4867,  4870,  4871,  4874,  4879,  4885,  4887,  4896,  4901,
    4903,  4905,  4910,  4912,  4926,  4941,  4942,  4943,  4952,  4953,
    4954,  4956,  4957,  4958,  4959,  4973,  4974,  4975,  4978,  4979,
    4980,  4981,  4982,  4990,  4991,  4994,  4999,  5009,  5012,  5020,
    5036,  5052,  5075,  5076,  5091,  5101,  5104,  5105,  5106,  5110,
    5114,  5115,  5140,  5152,  5165,  5166,  5175,  5176,  5177,  5180,
    5189,  5196,  5218,  5219,  5220,  5221,  5222,  5223,  5224,  5225,
    5226,  5227,  5228,  5229,  5230,  5231,  5232,  5233,  5234,  5235,
    5236,  5237,  5238,  5239,  5240,  5241,  5242,  5243,  5244,  5245,
    5246,  5247,  5248,  5249,  5250,  5251,  5252,  5253,  5254,  5255,
    5256,  5257,  5258,  5259,  5260,  5261,  5262,  5263,  5264,  5265,
    5266,  5267,  5268,  5269,  5270,  5271,  5272,  5273,  5274,  5275,
    5276,  5277,  5278,  5279,  5280,  5281,  5282,  5283,  5284,  5285,
    5286,  5287,  5288,  5289,  5290,  5291,  5292,  5293,  5294,  5295,
    5296,  5297,  5298,  5299,  5300,  5301,  5302,  5303,  5304,  5305,
    5306,  5307,  5308,  5309,  5310,  5311,  5312,  5313,  5314,  5315,
    5316,  5317,  5318,  5319,  5320,  5321,  5322,  5323,  5324,  5325,
    5326,  5327,  5328,  5329,  5330,  5331,  5332,  5333,  5334,  5335,
    5336,  5337,  5338,  5339,  5340,  5341,  5342,  5343,  5344,  5345,
    5346,  5347,  5348,  5349,  5350,  5351,  5352,  5353,  5354,  5355,
    5356,  5357,  5358,  5359,  5360,  5361,  5362,  5363,  5364,  5365,
    5366,  5367,  5368,  5369,  5370,  5371,  5372,  5373,  5374,  5375,
    5376,  5377,  5378,  5379,  5380,  5381,  5382,  5383,  5384,  5385,
    5386,  5387,  5388,  5389,  5390,  5391,  5392,  5393,  5394,  5395,
    5396,  5397,  5398,  5399,  5400,  5401,  5402,  5403,  5404,  5405,
    5406,  5407,  5408,  5409,  5410,  5411,  5412,  5413,  5414,  5415,
    5416,  5417,  5418,  5419,  5420,  5421,  5422,  5423,  5424,  5425,
    5426,  5433,  5432,  5446,  5447,  5450,  5451,  5454,  5455,  5459,
    5460,  5461,  5462,  5466,  5467,  5471,  5472,  5473,  5474,  5478,
    5479,  5480,  5481,  5485,  5491,  5505,  5509,  5515,  5522,  5535,
    5545,  5552,  5567,  5582,  5596,  5597,  5598,  5599,  5603,  5604,
    5611,  5620,  5621,  5622,  5623,  5624,  5632,  5631,  5640,  5641,
    5644,  5645,  5648,  5656,  5657,  5658,  5659,  5663,  5672,  5679,
    5687,  5686,  5700,  5701,  5705,  5706,  5710,  5711,  5712,  5713,
    5715,  5714,  5725,  5726,  5727,  5728,  5729,  5736,  5735,  5752,
    5755,  5763,  5762,  5780,  5781,  5784,  5786,  5790,  5791,  5794,
    5794,  5795,  5795,  5796,  5796,  5797,  5797,  5798,  5799,  5800,
    5801,  5802,  5803,  5804,  5805,  5806,  5807,  5808,  5809,  5810,
    5811,  5812,  5813,  5814,  5815,  5820,  5821,  5825,  5826,  5830,
    5840,  5850,  5863,  5875,  5887,  5899,  5911,  5912,  5921,  5946,
    5948,  5955,  5959,  5962,  5963,  5966,  5987,  5988,  5992,  5996,
    6000,  6007,  6008,  6011,  6012,  6016,  6017,  6022,  6027,  6035,
    6035,  6039,  6040,  6044,  6047,  6051,  6057,  6069,  6070,  6075,
    6074,  6100,  6101,  6105,  6107,  6107,  6131,  6132,  6136,  6137,
    6138,  6142,  6149,  6156,  6163,  6170,  6177,  6183,  6197
};
#endif

#if YYDEBUG || YYERROR_VERBOSE
/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
   First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] =
{
  "$end", "error", "$undefined", "END_OF_INPUT", "CLOSE_SYM",
  "HANDLER_SYM", "LAST_SYM", "NEXT_SYM", "PREV_SYM", "DIV_SYM", "EQ",
  "EQUAL_SYM", "SOUNDS_SYM", "GE", "GT_SYM", "LE", "LT", "NE", "IS",
  "MOD_SYM", "SHIFT_LEFT", "SHIFT_RIGHT", "SET_VAR", "ABORT_SYM", "ADD",
  "AFTER_SYM", "ALTER", "ANALYZE_SYM", "ANY_SYM", "AVG_SYM", "BEGIN_SYM",
  "BINLOG_SYM", "CHANGE", "CLIENT_SYM", "COMMENT_SYM", "COMMIT_SYM",
  "CONSISTENT_SYM", "COUNT_SYM", "CREATE", "CROSS", "CUBE_SYM",
  "DELETE_SYM", "DUAL_SYM", "DO_SYM", "DROP", "EVENTS_SYM", "EXECUTE_SYM",
  "EXPANSION_SYM", "FLUSH_SYM", "HELP_SYM", "INSERT", "RELAY_THREAD",
  "KILL_SYM", "LOAD", "LOCKS_SYM", "LOCK_SYM", "MASTER_SYM", "MAX_SYM",
  "MIN_SYM", "NONE_SYM", "OPTIMIZE", "PURGE", "REPAIR", "REPLICATION",
  "RESET_SYM", "ROLLBACK_SYM", "ROLLUP_SYM", "SAVEPOINT_SYM", "SELECT_SYM",
  "SHOW", "SLAVE", "SNAPSHOT_SYM", "SQL_THREAD", "START_SYM", "STD_SYM",
  "VARIANCE_SYM", "STOP_SYM", "SUM_SYM", "ADDDATE_SYM", "SUPER_SYM",
  "TRUNCATE_SYM", "UNLOCK_SYM", "UNTIL_SYM", "UPDATE_SYM", "ACTION",
  "AGGREGATE_SYM", "ALL", "AND_SYM", "AS", "ASC", "AUTO_INC",
  "AVG_ROW_LENGTH", "BACKUP_SYM", "BERKELEY_DB_SYM", "BINARY", "BIT_SYM",
  "BOOL_SYM", "BOOLEAN_SYM", "BOTH", "BTREE_SYM", "BY", "BYTE_SYM",
  "CACHE_SYM", "CASCADE", "CAST_SYM", "CHARSET", "CHECKSUM_SYM",
  "CHECK_SYM", "COMMITTED_SYM", "COLLATE_SYM", "COLLATION_SYM", "COLUMNS",
  "COLUMN_SYM", "CONCURRENT", "CONSTRAINT", "CONVERT_SYM", "CURRENT_USER",
  "DATABASES", "DATA_SYM", "DEFAULT", "DELAYED_SYM", "DELAY_KEY_WRITE_SYM",
  "DESC", "DESCRIBE", "DES_KEY_FILE", "DISABLE_SYM", "DISCARD", "DISTINCT",
  "DUPLICATE_SYM", "DYNAMIC_SYM", "ENABLE_SYM", "ENCLOSED", "ESCAPED",
  "DIRECTORY_SYM", "ESCAPE_SYM", "EXISTS", "EXTENDED_SYM", "FALSE_SYM",
  "FILE_SYM", "FIRST_SYM", "FIXED_SYM", "FLOAT_NUM", "FORCE_SYM",
  "FOREIGN", "FROM", "FULL", "FULLTEXT_SYM", "GLOBAL_SYM", "GRANT",
  "GRANTS", "GREATEST_SYM", "GROUP", "HAVING", "HASH_SYM", "HEX_NUM",
  "HIGH_PRIORITY", "HOSTS_SYM", "IDENT", "IDENT_QUOTED", "IGNORE_SYM",
  "IMPORT", "INDEX_SYM", "INDEXES", "INFILE", "INNER_SYM", "INNOBASE_SYM",
  "INTO", "IN_SYM", "ISOLATION", "JOIN_SYM", "KEYS", "KEY_SYM", "LEADING",
  "LEAST_SYM", "LEAVES", "LEVEL_SYM", "LEX_HOSTNAME", "LIKE", "LINES",
  "LOCAL_SYM", "LOG_SYM", "LOGS_SYM", "LONG_NUM", "LONG_SYM",
  "LOW_PRIORITY", "MASTER_HOST_SYM", "MASTER_USER_SYM",
  "MASTER_LOG_FILE_SYM", "MASTER_LOG_POS_SYM", "MASTER_PASSWORD_SYM",
  "MASTER_PORT_SYM", "MASTER_CONNECT_RETRY_SYM", "MASTER_SERVER_ID_SYM",
  "MASTER_SSL_SYM", "MASTER_SSL_CA_SYM", "MASTER_SSL_CAPATH_SYM",
  "MASTER_SSL_CERT_SYM", "MASTER_SSL_CIPHER_SYM", "MASTER_SSL_KEY_SYM",
  "RELAY_LOG_FILE_SYM", "RELAY_LOG_POS_SYM", "MATCH", "MAX_ROWS",
  "MAX_CONNECTIONS_PER_HOUR", "MAX_QUERIES_PER_HOUR",
  "MAX_UPDATES_PER_HOUR", "MEDIUM_SYM", "MIN_ROWS", "NAMES_SYM",
  "NATIONAL_SYM", "NATURAL", "NDBCLUSTER_SYM", "NEW_SYM", "NCHAR_SYM",
  "NCHAR_STRING", "NVARCHAR_SYM", "NOT", "NO_SYM", "NULL_SYM", "NUM",
  "OFFSET_SYM", "ON", "ONE_SHOT_SYM", "OPEN_SYM", "OPTION", "OPTIONALLY",
  "OR_SYM", "OR_OR_CONCAT", "ORDER_SYM", "OUTER", "OUTFILE", "DUMPFILE",
  "PACK_KEYS_SYM", "PARTIAL", "PRIMARY_SYM", "PRIVILEGES", "PROCESS",
  "PROCESSLIST_SYM", "QUERY_SYM", "RAID_0_SYM", "RAID_STRIPED_SYM",
  "RAID_TYPE", "RAID_CHUNKS", "RAID_CHUNKSIZE", "READ_SYM", "REAL_NUM",
  "REFERENCES", "REGEXP", "RELOAD", "RENAME", "REPEATABLE_SYM",
  "REQUIRE_SYM", "RESOURCES", "RESTORE_SYM", "RESTRICT", "REVOKE",
  "ROWS_SYM", "ROW_FORMAT_SYM", "ROW_SYM", "RTREE_SYM", "SET",
  "SEPARATOR_SYM", "SERIAL_SYM", "SERIALIZABLE_SYM", "SESSION_SYM",
  "SIMPLE_SYM", "SHUTDOWN", "SPATIAL_SYM", "SSL_SYM", "STARTING",
  "STATUS_SYM", "STORAGE_SYM", "STRAIGHT_JOIN", "SUBJECT_SYM", "TABLES",
  "TABLE_SYM", "TABLESPACE", "TEMPORARY", "TERMINATED", "TEXT_STRING",
  "TO_SYM", "TRAILING", "TRANSACTION_SYM", "TRUE_SYM", "TYPE_SYM",
  "TYPES_SYM", "FUNC_ARG0", "FUNC_ARG1", "FUNC_ARG2", "FUNC_ARG3",
  "UDF_RETURNS_SYM", "UDF_SONAME_SYM", "UDF_SYM", "UNCOMMITTED_SYM",
  "UNDERSCORE_CHARSET", "UNICODE_SYM", "UNION_SYM", "UNIQUE_SYM", "USAGE",
  "USE_FRM", "USE_SYM", "USING", "VALUE_SYM", "VALUES", "VARIABLES",
  "WHERE", "WITH", "WRITE_SYM", "NO_WRITE_TO_BINLOG", "X509_SYM", "XOR",
  "COMPRESSED_SYM", "ERRORS", "WARNINGS", "ASCII_SYM", "BIGINT",
  "BLOB_SYM", "CHAR_SYM", "CHANGED", "COALESCE", "DATETIME", "DATE_SYM",
  "DECIMAL_SYM", "DOUBLE_SYM", "ENUM", "FAST_SYM", "FLOAT_SYM",
  "GEOMETRY_SYM", "INT_SYM", "LIMIT", "LONGBLOB", "LONGTEXT", "MEDIUMBLOB",
  "MEDIUMINT", "MEDIUMTEXT", "NUMERIC_SYM", "PRECISION", "PREPARE_SYM",
  "DEALLOCATE_SYM", "QUICK", "REAL", "SIGNED_SYM", "SMALLINT",
  "STRING_SYM", "TEXT_SYM", "TIMESTAMP", "TIME_SYM", "TINYBLOB", "TINYINT",
  "TINYTEXT", "ULONGLONG_NUM", "UNSIGNED", "VARBINARY", "VARCHAR",
  "VARYING", "ZEROFILL", "AGAINST", "ATAN", "BETWEEN_SYM", "BIT_AND",
  "BIT_OR", "BIT_XOR", "CASE_SYM", "CONCAT", "CONCAT_WS", "CONVERT_TZ_SYM",
  "CURDATE", "CURTIME", "DATABASE", "DATE_ADD_INTERVAL",
  "DATE_SUB_INTERVAL", "DAY_HOUR_SYM", "DAY_MICROSECOND_SYM",
  "DAY_MINUTE_SYM", "DAY_SECOND_SYM", "DAY_SYM", "DECODE_SYM",
  "DES_ENCRYPT_SYM", "DES_DECRYPT_SYM", "ELSE", "ELT_FUNC", "ENCODE_SYM",
  "ENGINE_SYM", "ENGINES_SYM", "ENCRYPT", "EXPORT_SET", "EXTRACT_SYM",
  "FIELD_FUNC", "FORMAT_SYM", "FOR_SYM", "FROM_UNIXTIME",
  "GEOMCOLLFROMTEXT", "GEOMFROMTEXT", "GEOMFROMWKB", "GEOMETRYCOLLECTION",
  "GROUP_CONCAT_SYM", "GROUP_UNIQUE_USERS", "GET_FORMAT",
  "HOUR_MICROSECOND_SYM", "HOUR_MINUTE_SYM", "HOUR_SECOND_SYM", "HOUR_SYM",
  "IDENTIFIED_SYM", "IF", "INSERT_METHOD", "INTERVAL_SYM",
  "LAST_INSERT_ID", "LEFT", "LINEFROMTEXT", "LINESTRING", "LOCATE",
  "MAKE_SET_SYM", "MASTER_POS_WAIT", "MICROSECOND_SYM",
  "MINUTE_MICROSECOND_SYM", "MINUTE_SECOND_SYM", "MINUTE_SYM", "MODE_SYM",
  "MODIFY_SYM", "MONTH_SYM", "MLINEFROMTEXT", "MPOINTFROMTEXT",
  "MPOLYFROMTEXT", "MULTILINESTRING", "MULTIPOINT", "MULTIPOLYGON",
  "NOW_SYM", "OLD_PASSWORD", "PASSWORD", "PARAM_MARKER", "POINTFROMTEXT",
  "POINT_SYM", "POLYFROMTEXT", "POLYGON", "POSITION_SYM", "PROCEDURE",
  "RAND", "REPLACE", "RIGHT", "ROUND", "SECOND_SYM",
  "SECOND_MICROSECOND_SYM", "SHARE_SYM", "SUBDATE_SYM", "SUBSTRING",
  "SUBSTRING_INDEX", "TRIM", "UDA_CHAR_SUM", "UDA_FLOAT_SUM",
  "UDA_INT_SUM", "UDF_CHAR_FUNC", "UDF_FLOAT_FUNC", "UDF_INT_FUNC",
  "UNIQUE_USERS", "UNIX_TIMESTAMP", "USER", "UTC_DATE_SYM", "UTC_TIME_SYM",
  "UTC_TIMESTAMP_SYM", "WEEK_SYM", "WHEN_SYM", "WORK_SYM",
  "YEAR_MONTH_SYM", "YEAR_SYM", "YEARWEEK", "BENCHMARK_SYM", "END",
  "THEN_SYM", "SQL_BIG_RESULT", "SQL_CACHE_SYM", "SQL_CALC_FOUND_ROWS",
  "SQL_NO_CACHE_SYM", "SQL_SMALL_RESULT", "SQL_BUFFER_RESULT",
  "ISSUER_SYM", "CIPHER_SYM", "BEFORE_SYM", "'|'", "'&'", "'-'", "'+'",
  "'*'", "'/'", "'%'", "'^'", "'~'", "NEG", "'('", "')'", "','", "'!'",
  "'{'", "'}'", "'@'", "'.'", "$accept", "query", "verb_clause",
  "deallocate", "deallocate_or_drop", "prepare", "prepare_src", "execute",
  "@1", "execute_using", "execute_var_list", "execute_var_ident", "help",
  "change", "@2", "master_defs", "master_def", "master_file_def", "create",
  "@3", "@4", "@5", "@6", "create2", "create2a", "@7", "create3", "@8",
  "@9", "create_select", "@10", "@11", "opt_as",
  "opt_create_database_options", "create_database_options",
  "create_database_option", "opt_table_options", "table_options",
  "table_option", "opt_if_not_exists", "opt_create_table_options",
  "create_table_options_space_separated", "create_table_options",
  "create_table_option", "default_charset", "default_collation",
  "storage_engines", "row_types", "raid_types", "merge_insert_types",
  "opt_select_from", "udf_func_type", "udf_type", "field_list",
  "field_list_item", "column_def", "key_def", "opt_check_constraint",
  "check_constraint", "opt_constraint", "constraint", "field_spec", "@12",
  "type", "@13", "@14", "spatial_type", "char", "nchar", "varchar",
  "nvarchar", "int_type", "real_type", "float_options", "precision",
  "field_options", "field_opt_list", "field_option", "opt_len",
  "opt_precision", "opt_attribute", "opt_attribute_list", "attribute",
  "now_or_signed_literal", "charset", "charset_name",
  "charset_name_or_default", "old_or_new_charset_name",
  "old_or_new_charset_name_or_default", "collation_name", "opt_collate",
  "collation_name_or_default", "opt_default", "opt_binary", "opt_primary",
  "references", "@15", "opt_ref_list", "ref_list", "opt_on_delete",
  "opt_on_delete_list", "opt_on_delete_item", "delete_option", "key_type",
  "constraint_key_type", "key_or_index", "opt_key_or_index",
  "keys_or_index", "opt_unique_or_fulltext", "key_alg",
  "opt_btree_or_rtree", "key_list", "key_part", "opt_ident",
  "opt_component", "string_list", "alter", "@16", "@17", "ident_or_empty",
  "alter_list", "add_column", "alter_list_item", "@18", "@19", "@20",
  "opt_column", "opt_ignore", "opt_restrict", "opt_place", "opt_to",
  "slave", "@21", "@22", "start", "start_transaction_opts",
  "slave_thread_opts", "@23", "slave_thread_opt_list", "slave_thread_opt",
  "slave_until", "slave_until_opts", "restore", "@24", "backup", "@25",
  "checksum", "@26", "opt_checksum_type", "repair", "@27",
  "opt_mi_repair_type", "mi_repair_types", "mi_repair_type", "analyze",
  "@28", "check", "@29", "opt_mi_check_type", "mi_check_types",
  "mi_check_type", "optimize", "@30", "opt_no_write_to_binlog", "rename",
  "@31", "table_to_table_list", "table_to_table", "keycache",
  "keycache_list", "assign_to_keycache", "key_cache_name", "preload",
  "@32", "preload_list", "preload_keys", "cache_keys_spec", "@33",
  "cache_key_list_or_empty", "opt_ignore_leaves", "select", "select_init",
  "select_paren", "select_init2", "@34", "select_part2", "@35", "@36",
  "select_into", "select_from", "select_options", "select_option_list",
  "select_option", "select_lock_type", "select_item_list", "select_item",
  "remember_name", "remember_end", "select_item2", "select_alias",
  "optional_braces", "expr", "comp_op", "all_or_any", "expr_expr",
  "no_in_expr", "no_and_expr", "interval_expr", "simple_expr",
  "geometry_function", "fulltext_options", "udf_expr_list",
  "udf_sum_expr_list", "@37", "sum_expr", "@38", "@39", "@40",
  "opt_distinct", "opt_gconcat_separator", "opt_gorder_clause",
  "in_sum_expr", "@41", "cast_type", "expr_list", "@42", "expr_list2",
  "ident_list_arg", "ident_list", "@43", "ident_list2", "opt_expr",
  "opt_else", "when_list", "@44", "when_list2", "join_table_list", "@45",
  "@46", "@47", "normal_join", "join_table", "@48", "select_derived",
  "select_derived2", "@49", "@50", "opt_outer", "opt_key_definition",
  "key_usage_list", "@51", "key_list_or_empty", "key_usage_list2",
  "using_list", "interval", "date_time_type", "table_alias",
  "opt_table_alias", "opt_all", "where_clause", "@52", "having_clause",
  "@53", "opt_escape", "group_clause", "group_list", "olap_opt",
  "opt_order_clause", "order_clause", "@54", "order_list", "order_dir",
  "opt_limit_clause_init", "opt_limit_clause", "limit_clause",
  "limit_options", "delete_limit_clause", "ULONG_NUM", "ulonglong_num",
  "procedure_clause", "@55", "procedure_list", "procedure_list2",
  "procedure_item", "select_var_list_init", "@56", "select_var_list",
  "select_var_ident", "into", "@57", "do", "@58", "drop", "@59", "@60",
  "table_list", "table_name", "if_exists", "opt_temporary", "insert",
  "@61", "@62", "replace", "@63", "@64", "insert_lock_option",
  "replace_lock_option", "insert2", "insert_table", "insert_field_spec",
  "@65", "opt_field_spec", "fields", "insert_values", "@66", "@67",
  "values_list", "ident_eq_list", "ident_eq_value", "equal", "opt_equal",
  "no_braces", "@68", "opt_values", "values", "expr_or_default",
  "opt_insert_update", "@69", "update", "@70", "@71", "update_list",
  "update_elem", "insert_update_list", "insert_update_elem",
  "opt_low_priority", "delete", "@72", "single_multi", "@73", "@74", "@75",
  "@76", "@77", "table_wild_list", "table_wild_one", "opt_wild",
  "opt_delete_options", "opt_delete_option", "truncate", "opt_table_sym",
  "show", "@78", "show_param", "@79", "@80", "show_engine_param",
  "master_or_binary", "opt_storage", "opt_db", "wild", "opt_full",
  "from_or_in", "binlog_in", "binlog_from", "describe", "@81", "@82",
  "describe_command", "opt_extended_describe", "opt_describe_column",
  "flush", "@83", "flush_options", "flush_option", "@84", "opt_table_list",
  "reset", "@85", "reset_options", "reset_option", "purge", "@86",
  "purge_options", "purge_option", "kill", "@87", "use", "load", "@88",
  "opt_local", "load_data_lock", "opt_duplicate", "opt_field_term",
  "field_term_list", "field_term", "opt_line_term", "line_term_list",
  "line_term", "opt_ignore_lines", "text_literal", "text_string",
  "param_marker", "signed_literal", "literal", "NUM_literal",
  "insert_ident", "table_wild", "order_ident", "simple_ident",
  "field_ident", "table_ident", "table_ident_nodb", "IDENT_sys",
  "TEXT_STRING_sys", "TEXT_STRING_literal", "ident", "ident_or_text",
  "user", "keyword", "set", "@89", "opt_option", "option_value_list",
  "option_value_ext", "option_type_ext", "option_type", "opt_var_type",
  "opt_var_ident_type", "sys_option_value", "option_value",
  "internal_variable_name", "isolation_types", "text_or_password",
  "set_expr_or_default", "lock", "@90", "table_or_tables",
  "table_lock_list", "table_lock", "lock_option", "unlock", "handler",
  "@91", "handler_read_or_scan", "handler_scan_function",
  "handler_rkey_function", "@92", "handler_rkey_mode", "revoke", "@93",
  "revoke_command", "grant", "@94", "grant_privileges", "opt_privileges",
  "grant_privilege_list", "grant_privilege", "@95", "@96", "@97", "@98",
  "opt_and", "require_list", "require_list_element", "opt_table",
  "user_list", "grant_user", "opt_column_list", "column_list",
  "column_list_id", "require_clause", "grant_options", "grant_option_list",
  "grant_option", "begin", "@99", "opt_work", "commit", "rollback",
  "savepoint", "union_clause", "union_list", "@100", "union_opt",
  "optional_order_or_limit", "@101", "order_or_limit", "union_option",
  "singlerow_subselect", "singlerow_subselect_init", "exists_subselect",
  "exists_subselect_init", "in_subselect", "in_subselect_init",
  "subselect_start", "subselect_end", 0
};
#endif

# ifdef YYPRINT
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
   token YYLEX-NUM.  */
static const unsigned short int yytoknum[] =
{
       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
     515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
     545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
     555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
     565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
     575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
     595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
     605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
     615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
     625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
     635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
     645,   646,   647,   648,   649,   650,   651,   652,   653,   654,
     655,   656,   657,   658,   659,   660,   661,   662,   663,   664,
     665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
     675,   676,   677,   678,   679,   680,   681,   682,   683,   684,
     685,   686,   687,   688,   689,   690,   691,   692,   693,   694,
     695,   696,   697,   698,   699,   700,   701,   702,   703,   704,
     705,   706,   707,   708,   709,   710,   711,   712,   713,   714,
     715,   716,   717,   718,   719,   720,   721,   722,   723,   724,
     725,   726,   727,   728,   729,   730,   731,   124,    38,    45,
      43,    42,    47,    37,    94,   126,   732,    40,    41,    44,
      33,   123,   125,    64,    46
};
# endif

/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
static const unsigned short int yyr1[] =
{
       0,   495,   496,   496,   497,   497,   497,   497,   497,   497,
     497,   497,   497,   497,   497,   497,   497,   497,   497,   497,
     497,   497,   497,   497,   497,   497,   497,   497,   497,   497,
     497,   497,   497,   497,   497,   497,   497,   497,   497,   497,
     497,   497,   497,   497,   497,   497,   497,   497,   497,   498,
     499,   499,   500,   501,   501,   503,   502,   504,   504,   505,
     505,   506,   507,   509,   508,   510,   510,   511,   511,   511,
     511,   511,   511,   511,   511,   511,   511,   511,   511,   512,
     512,   512,   512,   514,   513,   515,   513,   516,   513,   517,
     513,   518,   518,   518,   518,   519,   520,   519,   521,   522,
     521,   523,   521,   525,   526,   524,   527,   527,   528,   528,
     529,   529,   530,   530,   531,   531,   532,   532,   533,   534,
     534,   535,   535,   536,   536,   537,   537,   537,   538,   538,
     538,   538,   538,   538,   538,   538,   538,   538,   538,   538,
     538,   538,   538,   538,   538,   538,   538,   538,   538,   538,
     539,   540,   541,   542,   542,   542,   542,   543,   543,   543,
     544,   544,   544,   545,   545,   546,   546,   547,   547,   547,
     548,   548,   549,   549,   550,   550,   551,   551,   551,   551,
     551,   552,   552,   553,   554,   554,   555,   557,   556,   558,
     558,   558,   558,   558,   558,   558,   558,   558,   558,   558,
     558,   558,   558,   558,   558,   558,   558,   558,   558,   558,
     558,   558,   558,   558,   558,   558,   558,   558,   558,   558,
     558,   558,   558,   559,   558,   560,   558,   558,   558,   561,
     561,   561,   561,   561,   561,   561,   561,   562,   563,   563,
     564,   564,   565,   565,   565,   565,   565,   566,   566,   566,
     566,   566,   567,   567,   567,   568,   568,   568,   569,   570,
     570,   571,   571,   572,   572,   572,   573,   573,   574,   574,
     575,   575,   576,   576,   577,   577,   577,   577,   577,   577,
     577,   577,   577,   577,   577,   577,   578,   578,   579,   579,
     580,   580,   581,   581,   582,   582,   583,   583,   584,   585,
     585,   586,   586,   587,   587,   588,   588,   588,   588,   588,
     589,   589,   591,   590,   592,   592,   593,   593,   594,   594,
     595,   595,   596,   596,   596,   596,   596,   597,   597,   597,
     597,   597,   598,   598,   598,   599,   599,   600,   600,   601,
     601,   602,   602,   602,   603,   603,   603,   603,   604,   604,
     604,   605,   605,   605,   606,   606,   607,   607,   608,   608,
     609,   609,   610,   610,   612,   611,   613,   611,   614,   614,
     615,   615,   615,   615,   615,   616,   617,   617,   617,   618,
     617,   619,   620,   617,   617,   617,   617,   617,   617,   617,
     617,   617,   617,   617,   617,   617,   621,   621,   622,   622,
     623,   623,   623,   624,   624,   624,   625,   625,   625,   625,
     627,   626,   626,   628,   626,   626,   629,   630,   630,   632,
     631,   633,   633,   634,   634,   634,   635,   635,   636,   636,
     638,   637,   640,   639,   642,   641,   643,   643,   643,   645,
     644,   646,   646,   647,   647,   648,   648,   648,   650,   649,
     652,   651,   653,   653,   654,   654,   655,   655,   655,   655,
     655,   657,   656,   658,   658,   658,   660,   659,   661,   661,
     662,   663,   664,   664,   665,   666,   666,   668,   667,   669,
     669,   670,   672,   671,   673,   673,   674,   674,   675,   676,
     676,   677,   677,   679,   678,   681,   682,   680,   683,   683,
     683,   683,   683,   684,   684,   685,   685,   686,   686,   687,
     687,   687,   687,   687,   687,   687,   687,   687,   687,   688,
     688,   688,   689,   689,   689,   690,   691,   692,   693,   693,
     694,   694,   694,   694,   694,   695,   695,   696,   696,   697,
     697,   697,   697,   697,   697,   698,   698,   699,   699,   699,
     699,   699,   699,   699,   699,   699,   699,   699,   699,   699,
     699,   699,   699,   699,   699,   699,   699,   699,   699,   699,
     699,   699,   699,   699,   699,   699,   699,   699,   699,   699,
     699,   700,   700,   700,   700,   700,   700,   700,   700,   700,
     700,   700,   700,   700,   700,   700,   700,   700,   700,   700,
     700,   700,   700,   700,   700,   700,   700,   700,   700,   700,
     700,   700,   701,   701,   701,   701,   701,   701,   701,   701,
     701,   701,   701,   701,   701,   701,   701,   701,   701,   701,
     701,   701,   701,   701,   701,   701,   701,   701,   701,   701,
     701,   701,   701,   701,   701,   701,   702,   703,   703,   703,
     703,   703,   703,   703,   703,   703,   703,   703,   703,   703,
     703,   703,   703,   703,   703,   703,   703,   703,   703,   703,
     703,   703,   703,   703,   703,   703,   703,   703,   703,   703,
     703,   703,   703,   703,   703,   703,   703,   703,   703,   703,
     703,   703,   703,   703,   703,   703,   703,   703,   703,   703,
     703,   703,   703,   703,   703,   703,   703,   703,   703,   703,
     703,   703,   703,   703,   703,   703,   703,   703,   703,   703,
     703,   703,   703,   703,   703,   703,   703,   703,   703,   703,
     703,   703,   703,   703,   703,   703,   703,   703,   703,   703,
     703,   703,   703,   703,   703,   703,   703,   703,   703,   703,
     703,   703,   703,   703,   703,   703,   703,   703,   703,   703,
     703,   703,   703,   703,   703,   703,   703,   703,   703,   703,
     703,   703,   703,   703,   703,   703,   703,   703,   703,   703,
     703,   703,   703,   703,   703,   703,   703,   703,   703,   703,
     704,   704,   704,   704,   704,   704,   704,   704,   704,   704,
     704,   704,   704,   704,   704,   704,   704,   704,   704,   704,
     704,   704,   704,   704,   704,   705,   705,   705,   706,   706,
     708,   707,   709,   709,   709,   709,   709,   709,   710,   711,
     709,   709,   709,   709,   709,   709,   709,   712,   709,   713,
     713,   714,   714,   715,   715,   717,   716,   718,   718,   718,
     718,   718,   718,   718,   718,   718,   718,   720,   719,   721,
     721,   722,   722,   724,   723,   725,   725,   726,   726,   727,
     727,   729,   728,   730,   730,   731,   731,   731,   731,   731,
     732,   731,   731,   733,   731,   731,   731,   734,   731,   731,
     731,   735,   735,   735,   737,   736,   736,   736,   736,   738,
     738,   740,   741,   739,   742,   742,   743,   743,   743,   743,
     745,   744,   746,   746,   747,   747,   747,   748,   748,   749,
     749,   749,   749,   749,   749,   749,   749,   749,   749,   749,
     749,   749,   749,   749,   749,   749,   749,   750,   750,   750,
     750,   751,   751,   751,   752,   752,   753,   753,   754,   755,
     754,   756,   757,   756,   758,   758,   759,   759,   760,   760,
     761,   761,   761,   762,   762,   764,   763,   765,   765,   766,
     766,   766,   767,   767,   768,   768,   769,   770,   770,   770,
     771,   771,   772,   772,   772,   772,   772,   773,   773,   773,
     773,   773,   774,   775,   774,   776,   776,   777,   777,   778,
     780,   779,   781,   781,   782,   784,   783,   783,   783,   786,
     785,   787,   788,   787,   787,   787,   789,   787,   790,   790,
     791,   792,   792,   793,   793,   795,   796,   794,   798,   799,
     797,   800,   800,   800,   800,   801,   801,   802,   802,   803,
     804,   804,   804,   805,   804,   806,   806,   806,   807,   807,
     808,   808,   809,   808,   810,   808,   811,   811,   812,   812,
     813,   814,   814,   815,   815,   817,   816,   818,   818,   819,
     819,   820,   820,   821,   822,   821,   824,   825,   823,   826,
     826,   827,   828,   828,   829,   830,   830,   832,   831,   834,
     833,   835,   836,   833,   837,   838,   833,   839,   839,   840,
     840,   841,   841,   842,   842,   843,   843,   843,   844,   845,
     845,   847,   846,   848,   848,   848,   848,   849,   848,   848,
     848,   848,   848,   850,   848,   848,   848,   848,   848,   848,
     848,   848,   848,   848,   848,   848,   848,   848,   848,   848,
     848,   848,   848,   848,   848,   848,   848,   848,   851,   851,
     852,   852,   853,   853,   854,   854,   855,   855,   856,   856,
     857,   857,   858,   858,   859,   859,   861,   860,   862,   860,
     863,   863,   864,   864,   865,   865,   865,   867,   866,   868,
     868,   870,   869,   869,   869,   869,   869,   869,   869,   869,
     869,   869,   869,   871,   871,   873,   872,   874,   874,   875,
     875,   875,   877,   876,   878,   879,   879,   881,   880,   882,
     884,   883,   883,   883,   885,   885,   886,   886,   886,   887,
     887,   887,   888,   888,   889,   889,   890,   890,   890,   890,
     891,   891,   892,   892,   893,   893,   894,   894,   895,   895,
     895,   895,   896,   896,   897,   898,   898,   898,   899,   899,
     899,   899,   899,   899,   899,   899,   899,   899,   900,   900,
     900,   900,   900,   901,   901,   902,   902,   903,   904,   904,
     904,   904,   905,   905,   905,   905,   906,   906,   906,   907,
     908,   908,   909,   910,   911,   911,   912,   912,   912,   913,
     913,   913,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   914,   914,   914,   914,   914,   914,   914,   914,   914,
     914,   916,   915,   917,   917,   918,   918,   919,   919,   920,
     920,   920,   920,   921,   921,   922,   922,   922,   922,   923,
     923,   923,   923,   924,   924,   925,   925,   925,   925,   925,
     925,   926,   926,   926,   927,   927,   927,   927,   928,   928,
     928,   929,   929,   929,   929,   929,   931,   930,   932,   932,
     933,   933,   934,   935,   935,   935,   935,   936,   937,   937,
     938,   937,   939,   939,   940,   940,   941,   941,   941,   941,
     942,   941,   943,   943,   943,   943,   943,   945,   944,   946,
     946,   948,   947,   949,   949,   950,   950,   951,   951,   953,
     952,   954,   952,   955,   952,   956,   952,   952,   952,   952,
     952,   952,   952,   952,   952,   952,   952,   952,   952,   952,
     952,   952,   952,   952,   952,   957,   957,   958,   958,   959,
     959,   959,   960,   960,   960,   960,   961,   961,   962,   962,
     962,   963,   963,   964,   964,   965,   966,   966,   966,   966,
     966,   967,   967,   968,   968,   969,   969,   969,   969,   971,
     970,   972,   972,   973,   974,   974,   975,   976,   976,   978,
     977,   979,   979,   980,   981,   980,   982,   982,   983,   983,
     983,   984,   985,   986,   987,   988,   989,   990,   991
};

/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
static const unsigned char yyr2[] =
{
       0,     2,     1,     2,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
       1,     1,     4,     1,     2,     0,     4,     0,     2,     3,
       1,     2,     2,     0,     5,     1,     3,     3,     3,     3,
       3,     3,     3,     3,     3,     3,     3,     3,     1,     3,
       3,     3,     3,     0,     7,     0,    11,     0,     6,     0,
       9,     2,     2,     2,     4,     4,     0,     4,     0,     0,
       5,     0,     7,     0,     0,     6,     0,     1,     0,     1,
       1,     2,     1,     1,     0,     1,     1,     2,     1,     0,
       3,     0,     1,     1,     2,     1,     2,     3,     3,     3,
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
       3,     3,     3,     3,     5,     1,     1,     3,     4,     4,
       4,     4,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     2,     0,     1,     1,     1,     1,
       1,     3,     1,     1,     2,     2,     6,     7,     8,     2,
       2,     0,     1,     2,     0,     1,     2,     0,     4,     3,
       3,     3,     2,     1,     1,     5,     2,     4,     1,     4,
       1,     5,     4,     4,     3,     1,     1,     2,     1,     1,
       2,     1,     1,     1,     2,     3,     2,     3,     2,     2,
       3,     3,     3,     0,     6,     0,     6,     2,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
       2,     1,     2,     1,     2,     3,     2,     1,     1,     1,
       1,     1,     1,     1,     2,     0,     3,     1,     5,     0,
       1,     2,     1,     1,     1,     1,     0,     3,     0,     1,
       0,     1,     2,     1,     1,     2,     2,     4,     1,     3,
       2,     1,     2,     2,     1,     2,     2,     1,     2,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
       2,     1,     1,     0,     1,     0,     1,     1,     1,     2,
       0,     1,     0,     4,     1,     4,     3,     1,     0,     1,
       2,     1,     3,     3,     2,     2,     2,     1,     1,     2,
       2,     2,     1,     2,     2,     2,     2,     1,     1,     0,
       1,     1,     1,     1,     0,     1,     1,     1,     0,     2,
       2,     1,     1,     1,     4,     2,     1,     4,     0,     1,
       0,     2,     1,     3,     0,     6,     0,     5,     0,     1,
       0,     2,     2,     1,     3,     2,     3,     2,     4,     0,
       6,     0,     0,     8,     4,     4,     3,     3,     2,     2,
       6,     5,     3,     5,     1,     1,     0,     1,     0,     1,
       0,     1,     1,     0,     2,     1,     0,     1,     1,     1,
       0,     5,     3,     0,     5,     3,     3,     0,     3,     0,
       2,     1,     3,     0,     1,     1,     0,     2,     1,     3,
       0,     6,     0,     6,     0,     5,     0,     1,     1,     0,
       6,     0,     1,     1,     2,     1,     1,     1,     0,     6,
       0,     5,     0,     1,     1,     2,     1,     1,     1,     1,
       1,     0,     6,     0,     1,     1,     0,     4,     1,     3,
       3,     5,     1,     3,     2,     1,     1,     0,     6,     1,
       3,     3,     0,     2,     0,     4,     0,     2,     1,     2,
       4,     2,     3,     0,     3,     0,     0,     6,     2,     1,
       1,     2,     2,     8,     4,     0,     1,     2,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
       2,     4,     3,     1,     1,     4,     0,     0,     1,     1,
       0,     2,     2,     1,     1,     0,     2,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     5,     6,     3,
       4,     5,     6,     3,     3,     3,     3,     4,     4,     5,
       3,     4,     3,     4,     3,     3,     4,     3,     3,     3,
       3,     3,     3,     3,     3,     3,     3,     3,     3,     4,
       4,     5,     6,     3,     3,     3,     3,     4,     4,     5,
       3,     4,     3,     4,     3,     3,     4,     3,     3,     3,
       3,     3,     3,     3,     3,     3,     3,     3,     3,     4,
       4,     1,     5,     6,     3,     4,     5,     6,     3,     3,
       3,     4,     4,     5,     3,     4,     3,     4,     3,     3,
       4,     3,     3,     3,     3,     3,     3,     3,     3,     3,
       3,     3,     3,     4,     4,     1,     2,     1,     3,     1,
       1,     4,     2,     5,     1,     2,     2,     2,     2,     2,
       3,     5,     6,     2,     1,     4,     7,     4,     2,     6,
       6,     6,     6,     4,     4,     3,     4,     6,     8,     6,
       8,     4,     6,     4,     6,     4,     4,     4,     4,     6,
       8,     2,     2,     4,     2,     7,     7,     3,     4,     4,
       6,     6,     4,     6,     6,     6,     4,     6,     4,     6,
       8,    10,    12,     6,     4,     6,     6,     1,     6,     4,
       8,    10,     4,     1,     3,     4,     6,     6,     8,     6,
       6,     4,     6,     6,     8,     4,     4,     6,     4,     2,
       4,     4,     4,     6,     4,     3,     8,     6,     4,     6,
       6,     8,     4,     8,     6,     8,     6,     8,     4,     4,
       6,     4,     7,     7,     7,     6,     6,     6,     6,     6,
       4,     4,     4,     4,     4,     4,    10,     3,     4,     3,
       2,     2,     2,     4,     6,     4,     4,     6,     6,     6,
       4,     6,     4,     6,     4,     4,     4,     4,     6,     4,
       6,     4,     6,     4,     4,     6,     4,     6,     4,     6,
       4,     4,     6,     4,     6,     0,     3,     3,     0,     1,
       0,     2,     4,     4,     4,     4,     5,     4,     0,     0,
       7,    10,     4,     4,     4,     4,     4,     0,     8,     0,
       1,     0,     2,     0,     1,     0,     3,     2,     3,     2,
       1,     2,     1,     2,     1,     1,     1,     0,     2,     1,
       3,     1,     3,     0,     2,     1,     3,     0,     1,     0,
       2,     0,     2,     3,     5,     1,     3,     3,     3,     5,
       0,     8,     7,     0,    10,     6,     7,     0,    10,     6,
       4,     1,     2,     2,     0,     4,    10,     5,     3,     2,
       3,     0,     0,     5,     0,     1,     0,     2,     2,     2,
       0,     5,     0,     1,     3,     1,     1,     1,     3,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     0,     1,     1,     0,     2,     0,     1,     0,     0,
       3,     0,     0,     3,     2,     0,     0,     4,     4,     2,
       0,     2,     2,     0,     1,     0,     4,     4,     2,     0,
       1,     1,     0,     1,     0,     1,     2,     1,     3,     3,
       0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     0,     0,     6,     0,     1,     3,     1,     2,
       0,     2,     3,     1,     2,     0,     6,     3,     2,     0,
       3,     6,     0,     6,     4,     3,     0,     4,     1,     3,
       1,     0,     2,     0,     1,     0,     0,     8,     0,     0,
       6,     0,     1,     1,     1,     1,     1,     2,     1,     1,
       1,     3,     4,     0,     3,     0,     3,     2,     3,     1,
       2,     2,     0,     3,     0,     5,     3,     1,     3,     1,
       3,     1,     1,     0,     1,     0,     4,     0,     1,     3,
       1,     1,     1,     0,     0,     6,     0,     0,    11,     3,
       1,     3,     3,     1,     3,     0,     1,     0,     4,     0,
       6,     0,     0,     6,     0,     0,     7,     1,     3,     3,
       5,     0,     2,     0,     2,     1,     1,     1,     3,     0,
       1,     0,     3,     2,     3,     4,     4,     0,     4,     6,
      16,     2,     2,     0,     6,     4,     2,     2,     2,     1,
       5,     5,     2,     2,     2,     2,     2,     3,     2,     2,
       2,     1,     1,     3,     4,     3,     2,     2,     1,     1,
       1,     1,     0,     1,     0,     2,     0,     2,     0,     1,
       1,     1,     0,     2,     0,     2,     0,     4,     0,     4,
       1,     1,     0,     1,     0,     1,     1,     0,     4,     3,
       1,     0,     3,     4,     2,     1,     1,     1,     1,     1,
       1,     1,     1,     0,     1,     0,     3,     3,     1,     1,
       1,     2,     0,     3,     3,     2,     2,     0,     3,     2,
       0,    15,     5,     4,     0,     1,     0,     1,     1,     0,
       1,     1,     0,     2,     2,     1,     3,     4,     3,     3,
       0,     2,     2,     1,     3,     3,     0,     3,     1,     1,
       2,     2,     1,     1,     1,     1,     2,     2,     1,     1,
       1,     1,     1,     1,     2,     2,     2,     2,     1,     1,
       1,     1,     1,     1,     1,     3,     5,     1,     1,     3,
       4,     5,     1,     5,     3,     2,     1,     3,     2,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       3,     2,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     0,     4,     0,     1,     1,     3,     2,     2,     1,
       1,     1,     1,     0,     1,     0,     1,     1,     1,     0,
       2,     2,     2,     3,     4,     4,     6,     2,     3,     3,
       5,     1,     3,     3,     2,     2,     2,     1,     1,     4,
       4,     1,     1,     1,     1,     1,     0,     4,     1,     1,
       1,     3,     3,     1,     1,     2,     2,     2,     4,     3,
       0,     7,     1,     2,     1,     1,     1,     1,     1,     1,
       0,     5,     1,     1,     1,     1,     1,     0,     3,     5,
       7,     0,     9,     1,     2,     0,     1,     1,     3,     0,
       3,     0,     3,     0,     3,     0,     3,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
       1,     3,     2,     2,     2,     0,     1,     3,     1,     2,
       2,     2,     1,     3,     3,     1,     1,     3,     4,     5,
       1,     0,     3,     3,     1,     1,     0,     2,     2,     2,
       2,     0,     2,     2,     1,     2,     2,     2,     2,     0,
       3,     0,     1,     1,     1,     4,     2,     0,     1,     0,
       4,     1,     1,     0,     0,     2,     2,     1,     0,     1,
       1,     3,     1,     3,     1,     3,     1,     2,     1
};

/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
   means the default is an error.  */
static const unsigned short int yydefact[] =
{
       0,     2,     0,   398,   463,  1649,     0,  1653,   114,  1087,
    1009,  1023,     0,   463,     0,  1025,  1207,     0,     0,   463,
    1202,   463,  1195,  1654,     0,   495,  1111,     0,     0,     0,
    1109,     0,  1076,     0,     0,     0,     0,  1170,  1171,  1581,
       0,     0,  1577,  1503,     0,     0,    50,  1028,     0,     0,
       0,    13,     0,    30,    18,    22,     8,    12,     4,    43,
      44,    36,     6,    10,    33,     5,     9,    27,    32,    28,
      29,    40,   488,    16,    17,    23,    34,    47,    14,    45,
      42,    15,  1172,    19,    35,    31,    24,    48,    25,    41,
      26,    46,    21,    37,    20,     7,    11,    38,    39,  1317,
    1362,  1375,  1415,  1430,  1466,  1294,  1297,  1301,  1303,  1305,
    1316,  1319,  1321,  1324,  1325,  1335,  1345,  1346,  1347,  1356,
    1364,  1374,  1380,  1383,  1418,  1443,  1445,  1446,  1449,  1450,
    1455,  1464,  1465,  1470,  1471,  1473,  1293,  1478,  1483,  1492,
    1292,  1296,  1299,  1300,  1302,  1304,  1306,  1307,  1308,  1310,
    1309,  1311,  1313,  1314,  1320,  1318,  1323,  1326,  1331,  1332,
    1350,  1334,  1337,  1338,  1351,  1333,  1344,  1348,  1353,  1354,
    1355,  1352,  1361,  1360,  1363,  1365,  1280,  1281,  1368,  1369,
    1372,  1370,  1376,  1377,  1379,  1381,  1384,  1388,  1386,  1387,
    1389,  1385,  1391,  1390,  1392,  1393,  1394,  1395,  1396,  1397,
    1440,  1441,  1382,  1398,  1399,  1400,  1401,  1404,  1411,  1412,
    1414,  1416,  1413,  1419,  1417,  1420,  1422,  1423,  1336,  1424,
    1425,  1431,  1432,  1433,  1435,  1438,  1439,  1436,  1437,  1442,
    1444,  1447,  1448,  1451,  1452,  1453,  1454,  1457,  1458,  1459,
    1461,  1463,  1472,  1474,  1477,  1479,  1480,  1482,  1486,  1487,
    1488,  1489,  1490,  1491,  1494,  1496,  1495,  1499,  1322,  1343,
    1497,  1298,  1312,  1327,  1328,  1340,  1349,  1357,  1429,  1330,
    1434,  1460,  1475,  1481,  1484,  1485,  1295,  1329,  1341,  1342,
    1358,  1359,  1366,  1367,  1373,  1378,  1402,  1403,  1406,  1405,
    1407,  1408,  1409,  1410,  1421,  1426,  1427,  1428,  1456,  1462,
    1476,  1493,  1498,  1500,  1339,  1467,  1469,  1468,  1371,  1315,
       0,     0,     0,  1284,  1279,  1285,   399,   368,     0,   465,
     464,     0,  1651,     0,   166,   346,   347,   118,   345,   119,
       0,   115,   116,     0,     0,  1103,   857,     0,  1024,     0,
    1021,  1016,     0,    55,  1177,  1288,  1282,  1287,  1286,    62,
    1031,     0,  1216,     0,     0,  1549,  1548,  1546,     0,     0,
       0,     0,     0,  1656,   489,   493,   505,  1158,   419,   419,
     419,   417,   419,  1110,     0,  1557,  1085,   432,     0,   434,
     450,     0,   466,   430,     0,  1504,  1501,  1209,     0,  1085,
     495,     0,     0,     1,     3,     0,  1348,  1168,  1166,  1276,
    1278,   941,  1559,  1560,     0,   366,   369,     0,   448,  1652,
    1650,    63,     0,     0,   119,   117,     0,     0,  1107,  1106,
    1105,     0,  1103,  1010,     0,     0,  1015,     0,     0,     0,
    1021,    57,     0,  1033,  1034,  1032,   398,     0,  1301,     0,
       0,     0,     0,     0,     0,     0,  1293,  1483,     0,     0,
    1313,  1318,     0,   535,     0,     0,  1251,  1262,     0,  1253,
       0,     0,  1259,   863,  1239,     0,  1250,  1258,  1261,  1453,
    1283,  1252,     0,     0,     0,     0,     0,     0,  1298,     0,
       0,  1328,  1484,  1485,  1260,     0,     0,     0,     0,   867,
       0,     0,     0,   535,   535,     0,     0,     0,  1329,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1358,     0,     0,  1359,  1366,     0,     0,
       0,     0,     0,  1378,     0,     0,     0,  1402,  1403,  1407,
       0,     0,     0,  1408,  1409,  1410,   535,  1421,  1426,  1244,
       0,  1427,     0,  1428,     0,     0,     0,     0,     0,  1456,
    1476,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1493,   535,   535,   535,     0,  1500,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1208,   537,
     723,   538,   717,   654,  1248,   650,   649,  1249,   647,  1238,
    1268,   664,   495,  1217,     0,  1218,  1214,     0,     0,     0,
     461,  1150,  1151,     0,  1203,   439,  1200,  1199,     0,  1196,
    1198,     0,  1657,   518,   511,   510,   509,   513,   517,   515,
     516,   512,   514,   526,   506,   508,     0,     0,     0,  1150,
       0,     0,   289,  1156,     0,  1156,  1159,  1516,  1142,   342,
     343,     0,   341,  1517,  1141,     0,     0,  1129,  1518,  1156,
    1153,  1154,     0,   972,   972,     0,     0,  1156,     0,  1112,
       0,     0,     0,     0,   413,   423,   415,   410,     0,   416,
     412,  1108,  1020,  1086,   398,     0,     0,   472,   482,     0,
       0,  1600,  1601,  1597,  1602,  1603,  1591,     0,     0,  1589,
       0,  1610,  1593,  1585,  1607,     0,  1599,  1606,  1595,  1604,
    1605,  1598,     0,  1583,  1587,     0,     0,  1585,  1578,     0,
    1513,     0,  1036,     0,  1035,   491,     0,  1663,    49,     0,
    1174,   943,   942,     0,  1558,     0,  1277,   303,   364,     0,
       0,     0,    87,     0,    89,   348,     0,  1088,  1091,  1097,
    1101,  1104,   859,   858,     0,  1022,  1014,   535,  1289,  1630,
    1017,  1626,     0,     0,    56,  1190,  1189,  1191,  1185,  1187,
    1186,     0,  1192,  1188,  1549,  1178,  1180,  1181,     0,     0,
     946,   946,     0,   946,   946,   946,   946,   946,     0,     0,
     668,     0,     0,     0,     0,     0,   694,     0,     0,   663,
     495,     0,     0,     0,   863,     0,   861,     0,   658,     0,
       0,     0,     0,     0,  1254,  1240,     0,     0,   857,   857,
       0,     0,  1255,     0,  1257,     0,  1256,     0,   946,   946,
     946,   868,     0,   857,     0,     0,   691,     0,   692,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   857,   839,     0,
       0,     0,     0,   646,     0,     0,     0,   857,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   857,   857,   857,
       0,   739,     0,     0,     0,     0,     0,   857,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   820,   820,
     820,   857,   857,   857,     0,     0,     0,   780,   781,   782,
       0,     0,     0,     0,   656,   655,   657,  1677,     0,   659,
       0,  1519,   652,     0,     0,   539,     0,     0,   540,   541,
     542,   543,   544,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   919,   920,   921,   922,   923,
     924,   925,   926,   927,   928,   929,   930,   931,   932,   934,
     933,   935,   936,     0,     0,  1241,     0,  1672,     0,  1213,
    1215,     0,   477,     0,   941,  1547,  1550,     0,     0,     0,
    1201,     0,  1655,  1668,   494,  1658,   524,   496,   523,     0,
     507,  1162,     0,     0,   119,  1146,  1122,  1147,  1140,     0,
    1139,  1126,  1113,     0,  1135,     0,  1154,  1134,  1160,  1161,
    1156,     0,  1154,  1127,     0,  1133,   973,  1132,   288,  1117,
     152,  1138,     0,  1121,  1128,     0,  1136,  1156,   426,   425,
     424,   420,   421,   426,     0,   894,     0,  1018,     0,     0,
     474,   484,   436,   452,     0,  1631,  1612,  1614,  1613,  1631,
    1609,  1631,  1586,  1584,  1608,  1631,     0,     0,   467,   468,
       0,     0,  1584,     0,  1510,  1511,  1514,  1512,  1502,  1505,
       0,  1509,     0,    52,    53,     0,  1039,  1029,  1038,   492,
    1661,   490,  1662,     0,  1169,  1243,  1167,  1175,  1242,  1176,
     945,  1415,  1354,     0,   948,  1562,   304,   367,   303,   110,
     113,   112,     0,   303,   452,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      64,    65,    78,   120,   303,    83,     0,     0,     0,     0,
    1094,  1089,  1101,     0,     0,     0,   941,     0,  1012,  1291,
       0,     0,     0,   400,     0,    58,    60,  1184,     0,     0,
    1193,  1026,     0,   947,     0,   845,   828,     0,   845,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   536,     0,  1674,     0,     0,     0,     0,     0,     0,
     864,   865,     0,   675,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   871,     0,
       0,     0,     0,   697,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   840,   837,     0,   939,   937,   940,   938,     0,
       0,     0,   724,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   611,   745,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   857,     0,     0,     0,   819,     0,     0,     0,
     777,     0,   779,     0,     0,     0,   986,   983,   982,   985,
     984,     0,   660,   857,     0,     0,     0,     0,     0,     0,
       0,   573,   564,     0,     0,   562,   574,   567,   568,   556,
     857,   549,   495,   955,     0,     0,     0,     0,   554,   553,
     560,   555,     0,   645,   575,   577,   570,   723,   569,   723,
     571,   572,   578,   576,  1297,   545,   565,     0,     0,   648,
    1269,  1678,  1671,     0,     0,  1212,     0,     0,   452,     0,
       0,  1204,   441,  1197,  1670,  1669,  1659,   526,   963,   527,
     529,   528,  1268,     0,  1164,     0,  1145,     0,  1157,  1143,
       0,  1156,  1114,  1155,  1156,   976,   977,     0,  1154,     0,
    1137,     0,   414,   423,   411,   418,   894,     0,     0,   875,
       0,     0,     0,   476,   471,   475,   473,   338,   337,   340,
       0,   483,   438,   437,   435,   459,   458,   460,   457,   456,
     451,   453,   454,  1611,     0,  1592,  1590,  1594,  1596,  1622,
    1625,  1276,     0,  1588,     0,     0,     0,     0,     0,  1513,
       0,  1482,  1531,  1507,     0,     0,     0,     0,     0,  1508,
      54,  1037,     0,     0,   972,  1667,  1665,  1569,  1567,  1568,
    1572,  1573,  1575,  1574,  1576,  1566,  1563,  1570,   949,   974,
     111,  1063,  1063,   396,   396,   396,  1063,   396,  1063,  1063,
    1063,     0,     0,  1063,     0,     0,     0,     0,     0,  1063,
    1063,  1063,  1063,  1063,  1063,   406,  1063,  1063,  1063,  1063,
    1063,   396,  1063,   394,   303,   145,   146,   365,     0,   373,
     395,   449,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,    88,   121,
       0,   351,   353,   352,   350,   349,     0,     0,   948,     0,
    1098,   894,  1102,  1101,  1099,   860,  1013,  1290,     0,  1627,
     402,   401,  1011,    61,     0,     0,  1179,  1194,  1182,     0,
       0,   822,     0,   857,   827,     0,     0,   833,   832,   834,
     835,   836,     0,     0,     0,   685,   687,     0,     0,   673,
    1673,   857,   857,   731,     0,   862,     0,     0,   857,   676,
       0,     0,   674,   667,     0,   683,   686,   698,   759,     0,
     758,   681,     0,   823,   824,   825,   869,     0,   688,   857,
       0,   693,     0,     0,   699,     0,   708,     0,   706,     0,
     857,     0,   702,     0,     0,     0,   857,     0,   714,     0,
     811,     0,   790,     0,   792,     0,   794,   857,     0,     0,
     719,     0,   725,     0,   813,     0,   795,     0,   857,     0,
     735,   736,   738,   797,     0,   799,     0,   801,     0,   796,
     803,   804,   740,   742,   741,   806,     0,     0,   808,     0,
     810,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   744,     0,     0,   748,
       0,   752,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   761,   770,   821,   771,   772,   773,   774,
     775,     0,   778,   783,     0,   785,   786,     0,     0,     0,
     665,  1520,  1521,  1522,   360,   651,  1270,   557,   563,     0,
    1676,     0,     0,   558,   857,   550,   955,   561,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   580,   579,   566,   722,     0,  1210,
     478,   479,   482,     0,  1553,  1554,  1552,  1551,   462,  1205,
    1206,   446,   447,   445,   440,   442,   443,     0,   522,   894,
    1000,   519,   500,   974,   964,   499,   530,     0,  1163,     0,
    1123,     0,  1144,     0,  1116,  1115,     0,     0,  1149,  1148,
    1118,  1125,  1154,   428,   427,   422,   901,   894,     0,  1664,
     894,     0,     0,   891,     0,     0,   894,   904,   904,   894,
     894,   941,   433,  1019,     0,   455,  1635,     0,  1634,     0,
       0,     0,   469,   470,   431,     0,     0,  1506,     0,     0,
       0,  1061,  1062,     0,   291,   293,   292,   299,   290,     0,
       0,  1519,     0,   295,   297,   296,  1527,   294,   103,  1043,
       0,     0,     0,  1052,  1030,  1040,   965,  1666,     0,     0,
    1561,   975,  1064,     0,     0,   397,   358,   339,   339,   377,
       0,   181,   358,   332,   375,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1063,     0,   388,   371,
     389,   372,  1063,     0,     0,     0,     0,     0,     0,   408,
     409,   407,     0,     0,     0,     0,     0,     0,     0,     0,
     124,   303,   184,     0,   403,   181,   187,  1272,    67,    68,
      79,   991,   989,   987,   990,   988,    80,    69,    70,    71,
      72,    73,    74,    75,    76,    77,    81,    82,    66,     0,
     184,    84,  1219,   122,   125,   169,   168,   167,     0,    85,
     894,   963,  1101,  1092,     0,   941,  1628,     0,    59,  1183,
    1073,     0,   846,   829,   826,     0,     0,     0,     0,   266,
     266,   266,   856,   854,   850,   855,   852,     0,     0,     0,
       0,     0,     0,   815,   866,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   872,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   843,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   603,   594,
       0,     0,   592,   608,   597,   598,   586,     0,   955,     0,
       0,     0,   584,   583,   590,   585,     0,   604,   606,   600,
     723,   599,   723,   601,   602,   607,   605,   595,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   661,     0,
     653,   547,  1675,   954,     0,   559,     0,   637,   628,     0,
       0,   626,   642,   631,   632,   551,   857,   614,   955,     0,
       0,     0,     0,   619,   618,   624,   620,     0,   638,   640,
     634,   723,   633,   723,   635,   636,   641,   639,   629,     0,
    1271,  1219,     0,   486,  1555,  1556,   444,  1660,   948,   948,
       0,     0,  1008,     0,     0,     0,   497,   502,   498,   501,
       0,   525,   534,   533,  1265,  1269,  1165,   972,  1131,  1130,
       0,   979,   978,  1156,     0,   899,   505,  1664,   898,     0,
       0,   893,   892,   894,   904,   904,  1077,  1080,     0,   878,
     905,     0,     0,   876,   877,   906,   916,     0,   915,  1632,
       0,  1624,  1623,  1636,     0,  1579,  1533,     0,  1532,  1544,
    1545,  1542,  1543,  1541,  1523,     0,  1528,     0,  1538,     0,
       0,  1529,     0,     0,   505,     0,  1065,  1051,  1057,  1050,
       0,     0,     0,  1049,  1264,  1263,  1657,     0,     0,   950,
     302,   301,   151,   298,   150,   186,   359,   333,   334,     0,
       0,     0,   339,   180,   358,   179,   182,   348,     0,   379,
     134,   358,   386,   387,   400,   135,   132,   138,     0,     0,
     139,     0,   130,   131,   137,   136,   158,   157,   141,   159,
     142,   143,   392,   153,   155,   154,   156,   140,   129,     0,
     128,   162,   161,   160,   147,   381,   133,   374,     0,   170,
     172,   173,  1275,     0,   405,   376,     0,   174,   175,     0,
       0,    93,     0,    91,     0,     0,  1221,  1220,    92,   106,
     303,   126,     0,     0,  1095,   980,   948,  1100,  1629,     0,
    1027,   737,     0,     0,   646,   679,   769,     0,   847,   849,
     305,   851,   853,   669,   672,   671,   729,   730,   732,     0,
       0,     0,   662,   677,     0,   684,   760,   682,   870,   670,
       0,     0,   689,     0,     0,     0,   704,   709,   707,   700,
     705,   703,     0,   789,   716,   713,   715,   812,   791,   793,
     841,   844,     0,   718,     0,   726,   814,   727,     0,   701,
     733,     0,   798,   800,   802,   807,   805,   809,   587,   593,
     743,   588,   955,   591,     0,     0,   610,   609,   596,     0,
     747,   749,   646,   750,     0,   756,   754,     0,     0,   767,
       0,   765,     0,   766,     0,   768,     0,   784,   787,   788,
     361,   548,   552,   621,   627,     0,   622,   857,   615,   955,
     625,     0,     0,   644,   643,   630,     0,   480,     0,   481,
     974,   956,  1005,  1007,     0,  1001,  1003,     0,   520,   532,
     531,     0,  1124,     0,  1119,   429,   526,   900,   941,     0,
     890,     0,     0,     0,   948,     0,   894,   894,     0,   880,
       0,     0,     0,   895,   485,     0,  1633,     0,  1641,     0,
       0,     0,  1537,  1524,   300,     0,     0,     0,     0,  1525,
     526,  1044,  1059,     0,  1067,     0,     0,  1041,  1054,     0,
       0,  1053,  1267,   966,   969,  1072,  1071,     0,  1070,   183,
     358,   335,   336,   348,     0,     0,     0,     0,   385,   384,
     299,   148,   149,     0,     0,   378,   184,   404,   312,   200,
     266,   193,   194,   255,   305,     0,   238,   243,   225,   228,
     251,   266,   237,   208,   205,   255,   253,   223,   255,   229,
     247,   213,   305,   212,   250,   305,   255,   252,   249,   266,
     266,   206,   209,   248,   305,     0,   241,   230,   233,   234,
     232,   236,   231,   235,   266,   270,   211,   305,   198,     0,
       0,   266,   268,  1274,     0,    96,   121,   107,     0,   127,
      90,     0,   948,     0,  1090,  1093,  1074,   830,     0,     0,
       0,   307,   308,   306,     0,   848,     0,     0,   666,     0,
     873,     0,     0,   695,   696,     0,     0,     0,     0,     0,
       0,     0,   589,     0,   581,     0,     0,     0,     0,     0,
     764,   762,   763,     0,   612,     0,   623,     0,   616,     0,
     487,   504,     0,   951,  1222,  1004,     0,     0,  1266,     0,
     902,   897,     0,   894,   894,  1079,   963,  1081,   883,   887,
     879,     0,   910,   908,   909,   907,   914,  1640,  1638,     0,
    1639,     0,     0,  1637,  1615,     0,  1582,  1580,  1535,  1534,
    1536,  1530,     0,     0,     0,   104,     0,     0,     0,  1068,
    1056,  1663,  1042,  1048,     0,   970,   971,   968,  1571,     0,
       0,     0,     0,   391,     0,   403,   393,   144,   270,   171,
     318,     0,   192,     0,   259,   257,   237,   214,     0,   305,
     227,   239,   242,   244,   246,     0,   210,   259,   254,     0,
     259,   219,   218,   259,   305,   207,   216,     0,   259,     0,
     278,   284,     0,     0,     0,   274,     0,   311,     0,   281,
     188,   271,   273,     0,   240,     0,   196,     0,     0,     0,
     259,     0,   269,   259,     0,    94,  1664,  1219,     0,    99,
       0,   969,   356,  1096,   981,     0,     0,   680,   267,   309,
     817,   816,   678,     0,   690,   710,     0,   842,   838,   946,
     720,   728,   734,   582,   746,   751,   755,   753,   757,   857,
     613,   617,     0,     0,   952,   963,     0,  1230,  1002,   521,
       0,   974,   894,   885,   889,   980,     0,     0,     0,     0,
       0,     0,  1619,  1620,  1621,  1616,     0,     0,     0,     0,
       0,  1642,  1644,  1540,  1539,  1526,   974,  1058,  1060,  1066,
    1055,   969,  1069,     0,     0,     0,     0,     0,     0,     0,
       0,   390,  1245,   380,   382,     0,     0,     0,   313,   314,
     319,   321,     0,     0,   263,   264,   265,   222,   260,   262,
     215,   245,     0,   220,     0,   191,   221,   217,     0,   204,
     283,   285,   535,   276,   287,   275,     0,     0,   282,   272,
     280,     0,     0,     0,     0,   189,     0,   190,  1273,    97,
      95,     0,  1657,    86,     0,   355,     0,     0,     0,   874,
       0,     0,     0,  1222,   960,   969,     0,   974,     0,     0,
       0,     0,  1223,  1225,     0,  1006,     0,   903,   519,   163,
       0,  1078,   882,     0,   886,     0,     0,   917,   912,  1617,
    1645,  1648,  1646,  1647,  1643,   105,   967,     0,     0,   176,
    1247,  1246,   403,   324,   325,   326,     0,     0,     0,   317,
     320,   199,   256,     0,   261,     0,   362,     0,   203,   286,
     535,   279,   305,   197,   305,   202,   101,   100,   969,     0,
       0,   721,   711,     0,   831,   776,  1230,     0,     0,   957,
     959,   953,   992,     0,     0,     0,     0,  1224,     0,     0,
    1231,  1233,     0,   164,     0,     0,     0,   881,     0,     0,
     913,     0,   177,   383,   328,     0,   327,     0,   322,   323,
     318,     0,     0,   305,     0,   305,   277,   195,   201,  1664,
     354,   357,  1075,  1083,     0,     0,  1236,   961,   962,   969,
       0,   503,  1228,  1229,     0,  1226,     0,     0,  1232,     0,
       0,     0,     0,   918,   911,   178,   330,   331,   329,   315,
     316,   258,   226,   363,   224,   102,     0,     0,   712,     0,
    1045,   958,   993,  1227,  1235,  1234,     0,   896,   884,   888,
    1082,  1084,     0,     0,  1211,     0,     0,  1237,  1047,     0,
     526,     0,  1046,     0,     0,   996,   998,     0,   999,   994,
     526,  1120,   997
};

/* YYDEFGOTO[NTERM-NUM]. */
static const short int yydefgoto[] =
{
      -1,    49,    50,    51,    52,    53,  1073,    54,   431,   754,
    1145,  1146,    55,    56,   730,  1120,  1121,  1122,    57,  1519,
    2323,  1124,  1126,  1961,  2313,  2776,  2318,  2912,  3039,  1873,
    2224,  2846,  2598,  1097,  1098,  1099,   330,   331,   332,   413,
    1962,  1493,  1963,  1964,  1495,  1496,  1019,  2287,  2278,  2294,
    2937,   333,  1968,  2298,  2299,  2300,  2301,  2255,  2256,  1890,
    1891,  1935,  2309,  2585,  2739,  2735,  2586,  2587,  2588,  2589,
    2590,  2591,  2592,  2724,  2725,  2877,  2878,  2879,  2338,  2773,
    2760,  2761,  2762,  2893,  2614,  1856,  1857,  1865,  1866,  2241,
    2216,  2242,  1102,  2615,  2763,  2308,  2720,  2868,  2968,  2869,
    2870,  2871,  3028,  1892,  2254,  1399,  1400,   658,   334,  1129,
    1524,  2780,  2781,  2245,  2100,  2975,    58,  1103,   727,   405,
    1497,  1498,  1499,  2527,  2534,  2962,  1894,   318,  1542,  2305,
    1922,    59,  1033,  1028,    60,   669,   664,   665,  1031,  1032,
    1382,  1814,    61,   706,    62,   675,    63,   679,  1404,    64,
     979,  1784,  1785,  1786,    65,   729,    66,   680,  1410,  1411,
    1412,    67,   977,   321,    68,   705,  1058,  1059,    69,   676,
     677,  1394,    70,  1344,  1770,  1771,  1040,  1041,  1401,  2449,
      71,    72,   392,   364,   612,   365,   366,  1358,  1791,  2938,
     623,   624,   625,  2156,   987,   988,   989,  1796,  1359,  2161,
     786,  2516,   944,  1337,   579,  1256,  1322,   580,   581,   582,
    2351,  1275,  1271,  1272,   583,  1553,  2332,  1627,  1223,  2627,
    2380,  1154,  1552,  1997,  1276,   424,   743,   795,   796,   797,
    1180,   822,  2012,  1596,  1597,  2014,  1818,  2671,  2827,  2829,
    1830,  1389,  1390,  1819,  2175,  2176,  2821,  2191,  2483,  2673,
    2831,  3019,  2197,  2946,   963,  1229,   723,   724,  1155,  1459,
    1879,  2815,  2926,  1733,  2653,  2924,  2999,  1793,  1794,  2237,
    2513,  2707,  1015,  2939,  1881,  1375,  2604,  1291,  1946,  3051,
    3095,  3104,  3105,  3106,  2152,  2153,  2455,  2456,  1795,  2654,
      73,   336,    74,  1536,   429,  1036,  1037,   428,   342,    75,
     350,  1549,    76,   389,  1442,   436,   713,  1077,  1078,  1874,
    2225,  3094,  2232,  1875,  2236,  2701,  2227,  2501,  2502,  1882,
    1883,  2228,  2504,  2698,  2517,  2518,  2330,  2785,    77,   376,
    2474,  2186,  2187,  3042,  3043,   674,    78,   335,   737,  1528,
    1134,  2326,  1527,  2602,   738,   739,  1136,   421,   422,    79,
     374,    80,   367,   659,  1377,  2167,  1810,   603,   661,  1010,
    1000,   662,  1011,  1364,  1800,    81,   720,   719,    82,   397,
    1086,    83,   432,   765,   766,  1150,  1548,    84,   361,   609,
     610,    85,   359,   604,  1351,    86,   351,    87,    88,  2141,
     971,   596,  2319,  2817,  2932,  2933,  2935,  3010,  3011,  3080,
     584,  2976,   585,  2861,   586,   587,  2233,  2234,  2514,   588,
    1936,   672,   312,   313,   347,   589,   590,   748,   749,   315,
      89,   710,   386,  1068,  1069,  1070,  1071,   663,  1298,  1433,
    1439,  1434,  2493,  2221,  2214,    90,   599,   767,   975,   976,
    1776,    91,    92,   725,  1094,  1095,  1456,  1878,  1457,    93,
     384,   708,    94,   381,   702,  1053,   703,   704,  1049,  1045,
    1051,  1055,  2836,  2683,  2684,  1422,   750,   751,  1415,  1837,
    1838,  2488,  2686,  2841,  2842,    95,   322,   410,    96,    97,
      98,   984,  1080,  1787,  2179,  1082,  1083,  1446,  1356,   591,
     968,   789,  1174,  1311,  1731,   592,  1342
};

/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
   STATE-NUM.  */
#define YYPACT_NINF -2537
static const int yypact[] =
{
    2733, -2537, 15340,    48,    43, -2537,   251, -2537,   730, -2537,
   -2537,   -10, 38148,    43, 34080, -2537, -2537,    99,   603,    43,
   -2537,    43, -2537,   313, 38148, -2537, -2537,   729,   107,   610,
     440,   603, -2537,   603,   591,   603,   603, -2537, -2537, -2537,
     603,   603, -2537,   541, 38148, 38148, -2537, -2537,    46,   771,
     815, -2537,   445, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, 15792, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   38148,   638,   187, -2537,   -48, -2537, -2537, 38148,   577, -2537,
   -2537,   603,   408,   592, -2537, -2537, -2537, -2537, -2537,   462,
     645, -2537,   651,   641,   787,   150, -2537, 38148, -2537,   824,
     549, -2537,   603, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
     585, 10132,   162,   794, 15340, -2537, -2537, -2537,   603,   548,
     603,   494,   899, -2537, -2537, -2537,   699, 39047, -2537, -2537,
   -2537,   687, -2537, -2537, 15340, -2537,   814, -2537, 15340, -2537,
   -2537,  2070, -2537, -2537,  2803, -2537, -2537, -2537,   873,   111,
   -2537,    46,   531, -2537, -2537, 38148,    54, -2537, -2537,   530,
   -2537,   255, -2537, -2537, 38148, -2537, -2537, 15340, -2537, -2537,
   -2537, -2537,   816, 38148,   462, -2537,   824, 38148, -2537, -2537,
   -2537, 35436,   150, -2537, 10132,   820, -2537,   909, 38148, 32724,
     549,   754,   948, -2537, -2537, -2537,   888,   570,   582,   584,
     596,   600,   619,   630,   632,   635,   639,   660, 10132,   666,
     674,   686,   705,   712,   717,   719, -2537, -2537,   720, -2537,
     722,   723, -2537,   724, -2537, 10132, -2537, -2537, -2537,   725,
   -2537, -2537,   726,   727,   733,   737,   109,   745,   750,   751,
     755,   -35,    32,   159, -2537,   757,   758,   761,   762, 10132,
     764,   766,   767,   712,   778,   782,   783,   784,   785,   786,
     788,   789,   790,   792,   793,   795,   796,   798,   800,   801,
     803,   804,   805,   806,   810,   817,   821,   822,   825, 10132,
     829,   832,   833,   834,   835,   836,   837,   839,   841,   842,
     844,   845,   847,   848,   849,   850,   851,   852,   853, -2537,
     854,   856,   857,   862,   864,   865,   866,   867,   869,   870,
     874,   875,   876,   877,   882,   883,   884,   885,   886,   887,
     891,   892,   893,   712,   712,   712,   896,   897,   900,   902,
   10132, 10132, 10132,  5713, 10132, 38148, 17148, 38148, 30859, -2537,
    1988,   970, -2537, -2537,   813, -2537, -2537, -2537, -2537, -2537,
     614, -2537, -2537, -2537,  1041, -2537,   936,  1026,   988, 15340,
   -2537, -2537, -2537,   974, -2537, -2537, -2537, -2537,  1061,   696,
   -2537, 38148,   920, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537,   736,   699, -2537,  1174,   904,   -40,   955,
      86,  1048, -2537,  1064,   958,  1064, -2537, -2537,   914, -2537,
   -2537,  1004, -2537, -2537, -2537,  1225,  1015, -2537, -2537,  1064,
   -2537,   432,   315,  1031,  1031,  1095, 34080,  1064,   432, -2537,
    1185,   992,   479,  1082, -2537,   536, -2537, -2537,  1356, -2537,
   -2537, -2537, -2537, -2537,   888, 15340,   -34, -2537, -2537, 15340,
   15340, -2537,  1117, -2537, -2537, -2537, -2537,  1121,   263, -2537,
    1279, -2537, -2537,  1163, -2537,  1176, -2537, -2537, -2537, -2537,
   -2537, -2537,  1180,   915, -2537, 15340, 15340,  1163, -2537,  1182,
     694,   -86, -2537, 13472, -2537, -2537,   918,    66, -2537,    55,
   34532, -2537, -2537, 38148, -2537, 38600, -2537,   563, -2537, 15340,
    1785,  1273, -2537, 15340, -2537,   374, 15340, -2537,   921, -2537,
     917, -2537, 30859,   924, 15340, -2537, -2537,   712,   916,  1012,
     926, -2537, 15340,   923, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537,  1316, -2537, -2537,  1113,   931, -2537, -2537, 13472, 10132,
    1338,   178, 10132,  1338,  1338,  1338,  1338,  1338, 10132, 10132,
     302, 10132, 10132, 10132, 10132,   937, -2537, 16244,  1358, -2537,
   -2537, 10132, 10132, 10132, -2537,  1073, -2537, 16244,   302, 10132,
     942, 10132, 10132, 10132, -2537, -2537, 16244, 10132, -2537, -2537,
    1152, 10132,   813, 10132,   813, 10132,   813, 10132,  1338,  1338,
    1338, 30859,   972, -2537, 10132, 10132, -2537,  6204, -2537,   946,
   10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132,
    1988, 10132, 10132, 10132, 10132, 10132, 10132, -2537,  1310,   564,
     732, 10132, 10132, 30859,  6695, 10132, 10132, -2537, 10132, 10132,
   10132, 10132, 10132, 10132, 10132, 10132, 10132, -2537, -2537, -2537,
    6204, -2537, 10132, 10132, 10132, 10132, 10132, -2537, 10132,  7186,
   10132, 10132, 10132, 10132, 10132, 10132, 10132,  4731, -2537, -2537,
   -2537,   950,   950,   950,   564,  7677,   951, -2537, -2537, -2537,
   10132, 10132, 10132,   604,   302,   302,   302, -2537,  2986,   302,
   10132,   746,  1418,   947, 10132, -2537, 10132,  1265, -2537, -2537,
   -2537, -2537, -2537,   601, 10132, 10132, 10132, 10132,   956, 10132,
     380, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132,
   10132, 10132, 10132, 10132,  8168, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537,   964, 34080, -2537, 38148, -2537,   957, -2537,
   -2537,  1283, -2537,  1392,   394,   962, -2537, 15340,   -68, 15340,
   -2537,   494, -2537,   198, -2537, -2537, -2537,   963, -2537, 10132,
   -2537,  1286,   978, 15340,   462, -2537, -2537, -2537, -2537,  1181,
   -2537, -2537, -2537, 32724, -2537,  1072,   432, -2537, -2537, -2537,
    1064, 38148,   432, -2537,   604, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, 15340, -2537, -2537,   432, -2537,  1064,  1380, -2537,
   -2537,   976, -2537,  1380,  1395,   166,   -50, -2537, 35888, 15340,
   -2537,   -30,    27,   117,  1193,   983, -2537, -2537, -2537,   983,
   -2537,   983, -2537, -2537, -2537,   983, 13924,  2906,   982, -2537,
    1192,   -20,   984, 13924, -2537, -2537, -2537, -2537,   985, -2537,
   36340,    30, 34080, -2537, -2537, 15340, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537,    38, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537,   145,   163,  1220,  1170, -2537, -2537, -2537,   580, -2537,
   -2537, -2537,   184,  1373,   117,  1466,  1467,  1470,  1471,  1472,
    1473,  1475,  1477,  1480,  1483,  1485,  1487,  1490,  1491,  1492,
    1016, -2537, -2537, -2537,   563, -2537,  1214,   119,   119,  1285,
     921, -2537,    85, 38148,  1363, 28468,    79, 10132, -2537, -2537,
   34080,  1409, 32724,    14, 34080,  1021, -2537, -2537,  1267,   948,
   15340, -2537, 19169, -2537,  1024, -2537, -2537,  1025,  1034, 19220,
    1028,  1029,  1032,  1033,  1035, 19260, 19305, 30366, 22314, 22553,
    3470, -2537,  1037, -2537,   957, 19499, 19529,  3102,  1038,  1043,
    1030, -2537, 19580, -2537, 22583, 19849, 19862,  1040, 22596,   -87,
    1044, 22871,  3120, 22905,  3532,  1049,  1050,  1051, -2537,  1052,
   19900, 19913, 22918, -2537, 19941, 19954, 22952, 20272,  3549,  3646,
   20353, 20448,  3885, 20461,  1387, 20491, 20546,  4030,  4171,  4212,
   17948,  1053, -2537, -2537,    -3, -2537, -2537, -2537, -2537,  1055,
   22969, 20864, -2537, 23005, 20877, 18085,  1057, 20896, 20977, 20991,
   23191, 23278, 23325, 18123, 18136, 18170,  1058,  1059,  1060, 23460,
   23500, 23517, 18187, 21251, 18222,  1062, 30951,   970, -2537, 23547,
   21265, 21309, 18496, 23564, 21395, 18540, 21583,  8659,  9150,  9641,
   22221,  1063,   950,  1065,  1066,  1068, -2537,  1071,  1078,     4,
   -2537, 23598, -2537, 18575, 23645, 18676, -2537, -2537, -2537, -2537,
   -2537,  1079, -2537, -2537,  1935,  1067,  1075,  1080, 34080, 10132,
   38148,    72,   133, 10132,  1331, -2537,    72,   278,   278,   779,
    1358, -2537, -2537,   560,  1085, 10132, 10132, 10132,  2020,  2020,
     133,  2020, 31004,   970,   152,   207,   137,  1988,   137,  1988,
      72,    72,    72,   302,  1089, -2537,   133,   719, 10132, -2537,
    1083, -2537, -2537,  1181, 15340, -2537,   533, 15340,   117,  1181,
   10132, -2537,    -8, -2537, -2537, -2537, -2537, -2537,   668, -2537,
   30859, -2537,  1087,  1181,  1408,  1090, -2537, 38148, -2537, -2537,
    1497,  1064, -2537, -2537,  1064, -2537,   -28,   379,   432, 15340,
   -2537,   863, -2537,   536, -2537, -2537,    40, 38148,    76, -2537,
   15340,  1181, 15340, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
    1097, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537,   802, -2537, 38148, -2537, -2537, -2537, -2537,  1091,
   -2537,  1092,  1280, -2537, 15340, 15340,  1181,  1440,  1446,   694,
    1100,  1423,  1103, -2537,   629, 31820,   122, 17600, 32272, -2537,
   -2537, -2537,    61,  1498,  1031, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,  1031,
   -2537,   629,   629,  1187,  1494,  1494,   629,   868,   629,   629,
     629,  1322,  1474,   629,  1433,  1328,  1438,  1334,  1478,   629,
     629,   629,   629,   629,   629,   164,   629,   629,   629,   629,
     629,  1494,   629, -2537,  1452, -2537, -2537,  1123, 14396, -2537,
   -2537, -2537,  1181,  1181,  1181,   634,  1181,   604,   604,   604,
    1181,  1181,  1181,  1181,  1181,  1181,   604,  1785, -2537,  4200,
     520, -2537, -2537, -2537, -2537, -2537, 15340,  1317,  1170, 28468,
   -2537,   166, -2537,  1125, -2537, 30859, -2537, -2537,   274, -2537,
   -2537, -2537, -2537, -2537,   923,  1562, -2537,  1131, -2537,    61,
   10132, -2537, 10132, -2537, -2537,  1133, 10132, -2537, -2537, -2537,
   -2537, -2537, 10623, 10132,   682, -2537, -2537, 33176,   682, -2537,
   -2537, -2537, -2537, -2537, 10132, -2537, 10132, 16244, -2537, -2537,
   10132, 10132, -2537, -2537, 33176, -2537, -2537, -2537, -2537, 10132,
   -2537, -2537, 10132, -2537, -2537, -2537,  1244, 10132, -2537, -2537,
   10132, -2537,  1219,  1219, -2537,   813, -2537, 10132, -2537, 10132,
   -2537,   813, -2537, 10132, 10132, 10132, -2537,  1406, -2537, 10132,
   -2537, 10132, -2537, 10132, -2537, 10132, -2537, -2537,  1410, 10132,
   -2537, 10132, -2537, 10132, -2537, 10132, -2537, 10132, -2537, 10132,
   -2537, -2537, -2537, -2537, 10132, -2537, 10132, -2537, 10132, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, 10132, 10132, -2537, 10132,
   -2537, 10132, 10132,  1451,   620, 10132, 10132, 10132, 10132, 10132,
   10132,   390, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132,
   10132, 10132, 10132, 10132, 10132,  8168, -2537, 10132, 10132, -2537,
   10132, -2537, 11114, 10132, 10132, 10132, 10132,  4250, 10132, 30408,
   10132, 30451, 10132, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537,  1412, -2537, -2537, 10132, -2537, -2537, 10132, 10132,  1144,
   -2537, -2537, -2537, -2537,  1139, 30859, -2537,   133, -2537,  1147,
   -2537,   957, 10132, -2537,  1358, -2537,   560,   133, 31051, 10132,
   10132,  1459,   756, 10132, 10132, 10132, 10132,  1150, 10132,   499,
   10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132, 10132,
   10132, 10132, 10132,  8168, -2537, -2537, -2537,   137, 38148, -2537,
    1154, -2537, -2537,  1332,  1462, -2537, -2537, -2537, -2537, -2537,
   30859, -2537, -2537, -2537, -2537, -2537,   262,    55, -2537,    52,
     676,    84,  1481,  1031, -2537,  1502, 34984, 28940, -2537,   634,
   -2537,   693, -2537,  1342, -2537, -2537,   604,   604, -2537, -2537,
   -2537, -2537,   432, -2537,  1160, -2537, -2537,    40,   218,   -76,
     166,  1482,  1484, -2537,    11, 16244,   166,  1421,  1421,   166,
     166,   879, -2537, -2537, 36792, -2537, -2537,   497, -2537,  1171,
   29412, 32724, -2537, -2537, -2537,  1431, 32724, -2537, 38148,  1486,
   38148, -2537, -2537,  5222, -2537, -2537, -2537,  1547, -2537, 32724,
     419,   746,   629, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
    1178,  1178, 13000, -2537, -2537, -2537, -2537, -2537,  1179, 10132,
   -2537, -2537, -2537, 33628, 31820, -2537, 16696,   423,   423, -2537,
     517,   567, 16696, -2537, -2537, 16696, 16696,  1181,  1499,  1500,
   16696, 16696,   634,   604,   604,    83,   629,   604, -2537, -2537,
   -2537, -2537,   629,   634,   634,   120,   710,   604,   604, -2537,
   -2537, -2537, 15340,   463, 34080,  1186, 34080,   205, 16696,  1181,
   -2537, 38961, 12548, 38148,   556,   108, -2537,  1164, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 15340,
   12096, -2537,    95, -2537,  1969, -2537, -2537, -2537,  1377, -2537,
     166,  1444,    92,   716,  1195,    79, -2537,  1398, -2537, -2537,
    1453, 23953, 30859, -2537, -2537, 21617, 10132, 23997, 24044,  1191,
    1191,  1191, -2537, -2537,  1353, -2537,  1354,  1197,  1198,  1199,
    1200,  1201, 24088, 30473, -2537,  1202, 24132, 21634,  1203, 24371,
   24406, 10132,  1217, 30507,  1232,  1208, 21664,  1988,  1988,  1209,
   24450, 24487,  1210,  1212, 24726, 21678, 24769,  1213,  1215, 24805,
   24821, 24861, 24903,  1444,  1218, 25179, 21903, 25221, 25306, 18716,
    1222, 18814, 25358, 25398, 25499, 25676, 25718, 25758,    72,   133,
   10132,  1493, -2537,    72,   278,   278,   779, 25853,   560, 10132,
   10132, 10132,  2020,  2020,   133,  2020, 31138,   152,   207,   137,
    1988,   137,  1988,    72,    72,    72,   302,   133,   719, 21996,
   25998, 26036, 10132, 26093, 22274, 18860, 22033, 26275, 10132, 26362,
   10132, 26402, 10132, 26416,  1223, 26641, 26685, 26776, -2537, 38148,
   -2537, -2537, -2537,   970,  1226, -2537, 10132,    72,   133, 10132,
    1495, -2537,    72,   278,   278,   779,  1358, -2537,   560,  1228,
   10132, 10132, 10132,  2020,  2020,   133,  2020, 31226,   152,   207,
     137,  1988,   137,  1988,    72,    72,    72,   302,   133,   719,
   -2537,     6, 15340,  1557, -2537, -2537, -2537, -2537,  1170,   290,
    1181,  1181, -2537,  1224,  1552,  1638, -2537, -2537, -2537, -2537,
   37244, -2537, -2537, -2537, -2537,  1230, -2537,  1031, -2537, -2537,
    1535, -2537, -2537,  1064,   863, -2537,   699,    75, -2537,  1237,
    1321, -2537, -2537,   166,  1421,  1421,  1240, -2537,   629,   716,
   -2537,  1561,  1563,   716,    60,   481, -2537,   525, -2537, -2537,
   38148, -2537, -2537,   -41,  1589,   926, -2537,   677, -2537, -2537,
   10132,   717, -2537, 30859, -2537, 33628, -2537,   629, -2537,  1247,
    1248, -2537, 37696, 10132,   699, 16244, -2537,  1249, -2537,  1249,
      57,  1251,   546, -2537, -2537, -2537,   920, 10132, 11605, 30859,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 10132,
    1566,  1571,   423, -2537, 16696, -2537, -2537,   374,   169, -2537,
   -2537, 16696, -2537, -2537,   131, -2537, -2537, -2537, 31820,  1181,
   -2537,  1181, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, 15340,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,   593, -2537,
   -2537, -2537, -2537, 38148, -2537, -2537, 15340, -2537, -2537, 28029,
   38148, -2537, 15340, -2537,  1255,   597, -2537, -2537, -2537,  1658,
    1962, -2537,  1181,  1260,   716,  1420,  1170, -2537, -2537,  1622,
   -2537, -2537,  1263, 10132, 30232, -2537, -2537,  1533, -2537, -2537,
      89, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,    10,
    1515,  1266, -2537, -2537, 10132, -2537, -2537, -2537, 30859, -2537,
   10132, 10132, -2537, 10132,  1268,  1269, -2537, -2537, -2537, -2537,
   -2537, -2537, 10132, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
    1501, -2537,  1539, -2537, 10132, -2537, -2537, -2537, 10132, -2537,
   -2537, 10132, -2537, -2537, -2537, -2537, -2537, -2537,   133, -2537,
   -2537, -2537,   560,   133, 31273, 10132, -2537, -2537, -2537, 10132,
   -2537, -2537, 30232, -2537, 10132, -2537, -2537, 10132, 10132, -2537,
   26910, -2537, 26961, -2537, 27015, -2537,  1540, -2537, -2537, -2537,
   -2537, -2537,   779,   133, -2537,  1272, -2537,  1358, -2537,   560,
     133, 31360, 10132, -2537, -2537, -2537,  1595, -2537,  1591, -2537,
    1031,  1612, -2537, -2537, 34080,  1278, -2537,  1326, -2537, -2537,
   -2537, 29884, -2537,  1760, -2537, -2537,   736, -2537,  1554,  1543,
     716,  1600,  1604, 16244,  1170, 11605,   166,   166, 10132, -2537,
     423,   423,   423, -2537, -2537, 38148, -2537,    77,  1468, 32724,
     140,  1532, -2537, -2537, -2537,   419,  1504,  1506,   629, 30859,
     736,  1289, -2537,   629, 11605,  1178,  1711, -2537, -2537,    57,
   16244, -2537, 30859,  1291,   611,   717, 30859,   602, -2537, 30859,
   16696, -2537, -2537,   374,  1294,  1667,  1668, 16696, -2537, -2537,
    1547, -2537, -2537,   605, 28029, -2537, 12548, -2537, -2537,  1301,
    1191, -2537, -2537,  1302,   312,   -16,   742, -2537, -2537, -2537,
   -2537,  1191, -2537, -2537, -2537,  1302,  1454, -2537,  1302, -2537,
   -2537, -2537,    89, -2537, -2537,    89,  1302, -2537, -2537,  1191,
    1191, -2537, -2537, -2537,    89,  1305, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537,  1191,  1084, -2537,    82,  1306,  1309,
    1311,  1191,  1312,  1303,  1314, -2537,  2989, -2537,    59, -2537,
   -2537, 38148,  1170,   634, -2537, -2537, -2537, -2537, 22178,  1315,
    1318, -2537, -2537, -2537, 33176, -2537,  1383,  1757, -2537, 27096,
   30859, 30732, 27284, -2537, -2537, 18900,   404,  1320,  1323, 27335,
   27365, 27463, -2537, 10132,   779, 27604,  1325, 27722, 27738, 27783,
   -2537, -2537, -2537,  1327, -2537,  1329, -2537, 10132,   779,  1536,
   -2537, -2537,  1710,  1663,  1707, -2537,  1224,  1402, -2537,  1181,
     963, -2537,  1652,   166,   166, -2537,  1444, -2537,   673,   698,
   30859,  1335, -2537, -2537, -2537, -2537, -2537, -2537, -2537,  1544,
   -2537,  1545,  1546, -2537,   154,   738, -2537,   926, -2537, -2537,
   -2537, -2537,  1339,  1340,  5222,   963, 16244, 11605,  1341,  1344,
   -2537,    66, -2537, -2537, 10132, -2537, -2537, -2537, -2537, 11605,
    1343,  1355, 38148, -2537,  1526,   556, -2537, -2537,  1084, -2537,
       0,  1621, -2537,  1624,   628, -2537,  1095, -2537,  1509,    89,
   -2537,  1510, -2537, -2537, -2537,  1362, -2537,   628, -2537,  1364,
     628, -2537, -2537,   628,    89, -2537, -2537,  1626,   628,  1181,
   -2537, -2537, 34080,  1381,  1613, -2537,  1758, -2537,  1733,  1682,
   -2537,  1084, -2537,  1683, -2537,  1639, -2537,  1646,  1647,  1648,
     628,  1649, -2537,   628, 38148, -2537,   144,    95,  1711, -2537,
     621,   611,  1382, -2537, -2537,  1702, 10132, -2537, -2537, -2537,
   -2537, -2537, -2537, 10132, -2537, -2537, 10132, -2537, -2537,  1338,
   -2537, -2537, -2537,   779, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537,   779, 15340, 10132, -2537,  1444,   105,  1696, -2537, -2537,
    1788,   226,   166,   716,   716,  1420, 10132,  1576, 10132,  1577,
   38148,  1399, -2537, -2537, -2537, -2537,    96,  1655,   604,   604,
     604,   738, -2537, -2537, -2537, -2537,   226, -2537, -2537, -2537,
   -2537,   611, -2537, 38148, 38148,   624,   564,   564,   564,   749,
     749, -2537, -2537, -2537, -2537,   460,   258, 38148, -2537, -2537,
     562, -2537,  1397,   636, -2537, -2537, -2537, -2537,   628, -2537,
   -2537, -2537,   404, -2537,   404, -2537, -2537, -2537,  1400, -2537,
   -2537, -2537,   712, -2537, -2537, -2537,  1461,  1587, -2537, -2537,
   -2537,  1403,  1404,  1413,  1414, -2537,  1411, -2537, -2537, -2537,
   -2537,  1415,   920, -2537, 38148, -2537,  1678,  1821, 27962, 30859,
   19084,  1417,  1419,  1707,    88,   611, 10132,  1031,  1806,  1808,
    1779,  1811,   105, -2537,    34, -2537,  1725, -2537,    84, -2537,
    1693, -2537, 30859,  1428, 30859,  1429,   646, -2537, 36792, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537,   655,   657, -2537,
   -2537, -2537,   556, -2537, -2537, -2537,   670,   670,   661, -2537,
   -2537, -2537, -2537,  1698, -2537,   669, -2537,   671, -2537, -2537,
     712, -2537,    89, -2537,    89, -2537, -2537, -2537,   611,  1430,
   16244, -2537, -2537, 10132, -2537, -2537,  1696,   252, 10132, -2537,
   -2537, 30859,  1488,   404,   404,  1819,   404, -2537,  1828,  1829,
      34, -2537,  1911, -2537, 10132, 38148, 38148, -2537, 38148,  1445,
    1443,  1688, -2537, -2537, -2537,  1851, -2537,   124, -2537, -2537,
     562, 38148,  1449,    89,   404,    89, -2537, -2537, -2537,   144,
   -2537, -2537,  1450, -2537,   629, 28007,  1781, -2537, -2537,   611,
   38148, -2537, -2537, -2537,   404, -2537,   404,   404, -2537,   634,
    2702,   688,   700, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, 16244, 11605, -2537,  1723,
    1476, -2537, -2537, -2537, -2537, -2537,  1872, -2537, -2537, -2537,
   -2537, -2537,  1782, 14868, -2537,  1479,  1772, -2537, -2537,   702,
    1503,  1955, -2537, 10132,  1505,  1511, -2537,   604, 30859, -2537,
   -2537, -2537, -2537
};

/* YYPGOTO[NTERM-NUM].  */
static const short int yypgoto[] =
{
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537,   424, -2537, -2537, -2537, -2537,   450, -1319, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537,  -808, -2537, -2537, -1834,
   -2537, -2537, -2537,   871, -2537,   889, -2537,  1654, -2537,  -339,
    -608,   496, -1848, -1047,  -614,  -590, -1586, -2537, -2537, -2537,
    -852, -2537, -2537,    39,  -538,   503,   539,    69,   118, -2537,
   -2537,  -520, -2537,  -525, -2537, -2537, -2537,  -534, -2537,  -533,
   -2537, -2537, -2537, -1619,  -580, -1838, -2537,  -865, -1899, -2537,
    -703, -2537,  -747, -2537,  -322, -1526, -1783, -2537, -2537,  -736,
    -513,  -197, -2537, -2444, -2537, -1002, -2537, -2537, -2537, -1010,
   -2537,  -849,  -944, -2537, -2537, -1406, -1728, -2537, -2537, -2048,
     898, -2191,  -890, -1824, -2537,  -859, -2537, -2537, -2537, -2537,
   -2537, -2537,    97, -2537, -2537, -2537,  -475,  -211,  -237, -2483,
   -2537, -2537, -2537, -2537, -2537, -2537,   695, -2537, -2537,   662,
    1011, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537,   260, -2537, -2537, -2537, -2537, -2537,  -923,   637,
   -2537, -2537, -2537,   944, -2537, -2537, -2537,   623, -2537, -2537,
    1009, -2537, -2537, -2537, -2537,   -92,   279, -2537, -2537, -2537,
    1336,   267,  1665,  -528, -2537,  1672, -2537, -2537, -2537, -1265,
   -1926, -2537,  1439,  -881, -1821,   707, -2381, -2537, -2537, -2537,
    -492,  1759, -1210, -1113, -2537, -2537, -1252,  -835,  -795, -2537,
   -2537,  -773,   276, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537,  -741, -2537,   498,  -332, -2537, -2537, -2537,  1271, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -1019, -2537, -2537, -2537,
   -2537, -1773, -2537,   253, -2537, -2537, -2537, -1719, -2537, -1300,
   -2537, -2537,  -879, -1820,  -820, -2537, -2537,  -960,  1300, -1501,
   -2537, -2537, -2537, -1667, -2537, -2537, -2537, -1912, -1033, -2537,
   -2537, -2138,  -631, -1438,  -605, -2537,  -752, -1003, -1744, -2537,
   -2537, -2537, -2537, -1034, -2537, -2537, -2537,  -579,   287, -2537,
   -2537, -2537, -2537, -2537, -2537,  -655,  -334,  1656, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537,  1324,  1007,   535,
   -2537, -2537, -1008, -2068, -2537, -2537,   220, -2537,  -607, -1382,
   -1284,  -412, -2537, -2537,  -410, -2393, -2537, -2537, -2537, -2537,
   -2537, -2537,  -378, -2537,  -978,  1712, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537,  1367,   966, -1443,  1684, -2537, -2537,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537,  1742, -2537,  -946,
    -618, -2537,  -508, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537,   968, -2537, -2537, -2537, -2537, -2537,
    1119, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537,   -26,  -810, -2537,  -814,  -877, -2537,  -889, -2537,
    -474,  -714, -2537,  -629, -2434, -1658,  -388,  1137, -2536,  -769,
   -1790,     3, -2537,  -106,  -682,  -565,    -2,    12,  -950, -2537,
   -2537, -2537, -2537, -2537,   703, -2537, -2537, -2537,   266, -2537,
   -2537,   -94, -2537,  -366,  -563, -2537, -2537,   238, -2537,   797,
   -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -2537,  1750,  1434, -2537,  1086, -2537, -2537,
   -2537, -2537, -2537,  -701, -2537,  1074, -1765,   994,  -329, -2537,
     -58, -2537, -2537, -2537,  -695, -2537, -2537, -2537, -2537, -2537,
   -2537, -2169,  -609, -2537,  -704, -2537, -2537, -2537, -2537, -2537,
   -2537, -2537, -2537, -1251, -2537,  -440, -1087
};

/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
   positive, shift that token.  If negative, reduce the rule which
   number is the opposite.  If zero, do what YYDEFACT says.
   If YYTABLE_NINF, syntax error.  */
#define YYTABLE_NINF -1665
static const short int yytable[] =
{
     314,   826,   828,   985,   423,   311,  1087,   812,   814,   816,
     343,  1376,   348,  1081,  1346,   790,  1388,  1002,  1172,   965,
    1214,  1880,   363,  1017,  1042,  1043,   349,  1971,  1181,  1074,
    1157,  1007,  1160,  1161,  1162,  1163,  1164,  1187,  2231,  1021,
     671,  1998,   387,   388,   871,   657,  1685,  2180,  1016,  1016,
    1444,  1061,  1853,  1369,  1860,  2166,  1494,  1893,  2008,  2325,
    1371,  1900,  1813,  1735,   967,  1738,  1374,  2511,  2257,  2105,
    1500,   897,   898,   899,  1104,   733,  2203,  1195,  1196,  1197,
     399,  2205,  2667,  1257,   917,   398,  1766,  1570, -1276,   721,
    1975,  2339,  2340,  1792,  2148, -1277,  2246,  1143,   -98,  1821,
    2730,  2244,  2246,  1327,  1329,  2258,  2259,  2616,  1816,  2192,
    2263,  2264,  1763,  1100,   390,  1821,  2321,  1540,  2741,  1277,
    1278,  2742, -1173,    25,  1426,  1868,  2314,  1868,  1781,  1868,
    2746,  1397,  1851,  1038,  1313,   632,  2677,  1101,  2295,  2154,
    1323,  1398,   914,  2766,  1852,   917,   914, -1663, -1565,   917,
    1022,   337,   924,   925,   926,  1088,   924, -1618,  2265,  2247,
    2248,   914,  2507,  1402,   917,  2316, -1564,   722,  2851,  2272,
    2273,   924,   925,   926,  1919, -1276,  1534,   370,  1884,   464,
    2183,  1501,  1897,  2611,  1902,  1903,  1904,   632,   632,  1907,
    2611,   402,  1806,   346,   632,  1913,  1914,  1915,  1916,  1917,
    1918,  2865,  1923,  1924,  1925,  1926,  1927,   316,  1929,  2524,
    2487,  2291,  1349,  2525,  1584,  2249,   914,   352,  1521,   917,
     983,  2866,   319,  -944,  1822,   768,   924,   925,   926,  1823,
    1391,   712,  2863,   426,  1540,   993,  2928,  2929,  1435,  2274,
    1822,  2835,   996,  3067,   470,  1823,   464,   965,  2688,   965,
    2466,   965,  1920,  1405,  2316,  1139,   357,  1821,  -944,   810,
     353,  1286,  1173,   804,  1153,   721,  1443,   338,  1541,   375,
    1824,   377,  1522,   379,   380,   593,   470,  2925,   382,   383,
    2862,  2478,   339,   470,  1354,  2880,  1824,   914,   930,   632,
     917,  1782,  3047,  1461, -1664,   673,  1047,   924,  2500,  2966,
    2887,  2731,  1287,  3008,  2848,  1156,   594,   323,   400,   418,
     734,   470,  3009, -1276,   917,   406,  2852,  1368,  3048,  2862,
   -1277,  1869,  1348,  1406,  1352,  1355,   810,   -51,   994,  1821,
    2930,  1783,  1826,  1048,   419,   425,  1825,  2732,  2288,  1288,
    2290,  2967,  3068,   722,  2292,  2678,   595,   655,  1826,   930,
    2679,   320,   399,   930,  2306,  2158,   997,   598,   340,  1870,
    1871,  2479,   983,  1870,  1871,  1289,  1403,  1014,   930,  2679,
    1789,   983,   399,   464,   354,  1224,   399,  2612,  1523,  1076,
    -944,   678,  1822,  2931,  2612,  1541,  2680,  1823,   805,   371,
   -1276,  2401,  1372,   718,  2997, -1664,  2613, -1277,  1781,   655,
     655,  1585,   726,  2613,   721,   399,   655,  1072,  1350,  1380,
     728,   732, -1663,  2611, -1276,   735,   317,   632,  2184,   740,
    1279, -1277,  2293,   930,  2066,  1778,   746,   348,  1824,  2526,
    2523,   403,  1811,  2689,  1076,  1407,  2764,  2528,   470,  1392,
     983,  2702,  1408,  2317,  1921,   341,   404,  1494,  1142,  2185,
   -1565,  2436,   811,   810,  1822,  1039,  1409,  -339,  1436,  1823,
   -1618,  1807,  3049,  1035,  2246,  2471,  2472,  1827, -1564,  1392,
    1290,  2246,  2599,  2155, -1565,  2711,  1189,  1190,  1445,  3023,
    2223,  1392,   722,  1827,  1100,  2530,  1628,  2867,  1312,   420,
    1826,  1199, -1564,  1711,   930,  1547,  2117,  1310,  1828,  1705,
    1824,   655,  2127,  1392,  1948,  1949,  1950,  1764,  1101,  1765,
    1100,  1859,  1973,  1957,  1828,  1221,  1392,  1379,   930,   813,
    1736,  2855,  1323,  1437,  2522,  1236,  1893,  1817,  1763,  1975,
    2159,  1387,  2317,   391,  1101,  1246,  1247,  1248,  3037,  1386,
    3038, -1173,    48,  1387,  2506,  1255,  2778,  1314,  1872,  1829,
     606,  2681,  2682,  1976,  1893,  1014,   943,  1315,  1085,   408,
    1808,  1782,  1826,  2467,   607,  1829,  -108,  2059,  -944,  2765,
    2681,  2682,  2078,   910,   348,   913,  1008,  2998,  -944,  1529,
     430,  2303,  2283,  -109,  1397,  1012,  1974,  1029,   912,  3072,
    1025,  3074,  2284,   362,  1398,  1458,   600,   399,   605,  1009,
    1013,  1783,   974,  2285,   601,  2963,  1392,  2612,  1030,   982,
     936,   937,   938,   939,   940,   941,   942,   943,   940,   941,
     942,   943,  2269,  2480,  2249,  1827,  2613,  1316,  2271,  2726,
     937,   938,   939,   940,   941,   942,   943,  2060,  -944,  1851,
    2481,  2722,   602,  2915,  2102,  2660,   815,  2450,  2451,  1809,
    2139,  1852,  2736,  1386,   348,  1367,  1828,  1387,  1127,   965,
    2250,  1769,  2957,  2958,  2727,  2576,  2119,  1779,  1020,   964,
    2744,  2745,  2231,   399,  2249,  1128,  2120,   399,   399,  2695,
     372,  1798,  1096,   470,  3091,  2748,   938,   939,   940,   941,
     942,   943,  2770,  2964,  1732,  2304,  2710,  1827,  2218,  1096,
    2705,  -944,  1977,   399,   399,   433,  2178,  1829,  1060,  1832,
    -185,   399,  1821,  2956,   965,   373,  1026,  1773,  1089,  3103,
    1416,  1090,  1417,  1093,  2687,  2965,  1418,   399,  1828,  3103,
    2246,   399,   608,  2706,  1132,  2632,  1125,  1821,  1317,  1131,
     434,  1076,   399,  2987,  1844,  1286,  2121,  1138,  2061,  1438,
     399,  2251,   378,  1804,  2825,  1821,  1805,   938,   939,   940,
     941,   942,   943,  2865,  2779,   385,   399,  2017,  2018,   435,
    2149,   393,  2646,  3024,  2286,  1941,  1989,  1774,   464,  1829,
    1462,  2482,   395,  2866,  1730,   613,  1287,  3000,   914,   915,
     916,   917,   918,   919,   920,   921,   922,   923,   924,   925,
     926,  -185,   368,  2171,  2172,   369,  2475,  2189,  2004,  2404,
    2193,  2194,  1789,  1877,  2252,   324,  1942,  1304,   394,  1305,
    1938,  1939,  1940,  1288,  1947,  2605,   614,  2408,  1951,  1952,
    1953,  1954,  1955,  1956,  1790,  2495,  2051,  1822,  2052,  1016,
    1775,  1064,  1823,   470,  2070,  2072,  2219,  2220,  1965,  1289,
    3040,  1286,   407,  1943,   615,  2465,  1763,  2122,   810,  2784,
    1966,   401,  1822,  1967,  -185,   412,  2173,  1823,  2438,   409,
    2441,  2195,   411,  1065,  1312,  2058,   325,   355,   356,  1944,
    1822,  1323,  -944,  1824,  1494,  1823,  2837,  3025,  2445,   721,
     457,  -344,  1287,  1295,  2826,  1990,  1443,  1312,  1500,  2883,
    2266,  2267,  2885,  2927,  2270,  2886,  2150,  2151,  1824,  2217,
    2889,  3081,  2275,  2279,  2280,  2281,  1066,  1763,  -944,  2828,
     414,  2490,  2131,  2133,  3026,  1296,  1824,  2491,   327,  1288,
    3027,   462,  2905,   416,  -944,  2907,  2737,  2103,  1405,  2740,
    2492,  2838,  2839,  2840,  2911,  1826,   928,  2743,   417,  2276,
    2277,  2324,   427,  2118,  1290,  1289,   929,   344,  1067,  1323,
     597,  1719,   348,   358,  1340,   360,   611,   722,   467,  2874,
    1826,   616,  2110,  2666,  2111,   399,  1339,   399,  1729,  2875,
    1885,   176,   177,  2876,  1945,  2199,  2200,  1362,  1826,  1895,
    1896,   399,  1901,   668,   468,   930,  1366,   326,   673,  1991,
    2381,   348,  1992,  1993,   755,  2168,  2169,   327,  1406,  1373,
    1297,  1898,  2651,  2484,  2485,  2327,  1928,   711,   756,   717,
     399,  -944,  -165,  1994,   404,  1378,   933,   328,  1995,  1397,
    -944,  -944,   731,  1996,  2509,  2510,  1395,   399,  -944,  1398,
    2019,   744,   678,  -944,   745,  -944,  2023,   316,  -944,  2940,
    1107,  1108,  1225,  1226,  1421,   753,  2188,   769,  1833,  1420,
    1290,  1421,  1118,  1119,   666,   667,  1420,   670,  1432,   770,
     348,   771,   757,   399,  2672,  2672,  2672,  1227,  1228,   964,
    1827,  2535,  2536,   772,  1440,  2596,  2536,   773,  2789,  -944,
    2708,  2709,   470,  2717,  1392,  2733,  2734,   969,   329,   484,
    -944,  2783,  1899,  2235,   758,  1827,   774,  -944,   966,  2913,
    2914,  1828,  2959,  2914,  2162,   970,  2694,   775,  2749,   776,
    1407,  2697,   777,  1827,  2972,  2973,   778,  1408,   972,   759,
    1893,   740,   973,  1533,  3017,  3018,  1828,   935,   348,  -944,
     348,  1409,   348,  3021,  2914,  3022,  2914,   779,   399,  3030,
    3031,  -944,  1537,   781,  1828,   978,  1543,  3033,  3034,  3035,
    3034,   782,  1829,   980,  2470,  1273,  1274,   617,   618,   619,
     620,   621,   622,   783,  2750,  -944,  3088,  3018,  2751,  -944,
    -944,  2674,  2675,   760,  -944,   981,   761,  1829,  3089,  3018,
    3102,  2510,   784,  2752,  1763,  3061,  3062,  2364,  2365,   785,
     762,  2960,  2961,  2753,   787,  1829,   788,   791,  -944,   792,
     793,   794,   799,   800,   801,  2260,   983,   986,   763,   991,
     802,  1983,   764,   356,   803,   995,  1447,  1448,  1449,   998,
    1450,  1763,   806,  1451,  1452,  1453,  1454,   807,   808,  2000,
    2001,   999,   809,  1001,   817,   818,  2005,  2296,   819,   820,
    2406,   823,  2407,   824,   825,  -310,   936,   937,   938,   939,
     940,   941,   942,   943,  2402,   827,  1323,  2015,  -944,   829,
     830,   831,   832,   833,  1004,   834,   835,   836,  2022,   837,
     838,  1005,   839,   840,  2027,   841,  -944,   842,   843,  1006,
     844,   845,   846,   847,  -184,  2033,   348,   848,  1726,  1885,
    2754,  1886,  2755,  1003,   849,  2756,  2040,  1312,   850,   851,
    1724,  2443,   852,  2444,  -944,  3086,   854,  -944,  2757,   855,
     856,   857,   858,   859,   860,  2439,   861,  1323,   862,   863,
    -184,   864,   865,  1887,   866,   867,   868,   869,   870,   872,
     873,   874,   399,   875,   876,   399,  2758,  1772,  1397,   877,
     974,   878,   879,   880,   881,  1018,   882,   883,  1398,  1455,
    1014,   884,   885,   886,   887,  1802,  1023,  -944,  -944,   888,
     889,   890,   891,   892,   893,  1024,  -370,   399,   894,   895,
     896,  2759,  1812,   900,   901,  1820,  1027,   902,   399,   903,
     399,   992,  1034,  1831,  1044,  1046,  1050,  1463,  1052,  1464,
    1054,  1056,  2104,  1063,  1057,  1465,  1079,  1466,  1123,  1140,
    1133,  1135,  1836,  1137,  1141,  1142,  1144,  1467,  1147,  1148,
    1149,  -184,   399,   399,  1153,  1171,   907,  1060,  1843,  1179,
    1183,   805,  1198,   348,  1203,   348,   348,  1222,  -818,  1282,
    1299,  1300,  1303,  1310,  1338,  1341,  1343,  1858,  1345,  1862,
    1867,  1347,  1357,  1363,  1888,  -123,  2503,  2668,  2669,  1365,
     346,  1370,  1381,  1468,  1469,  1383,  1385,  1413,  2452,  2453,
    1414,  1424,  1425,  1427,  1429,  1458,  1502,  1503,  2459,  1470,
    1504,  1505,  1506,  1507,  -184,  1508,  1466,  1509,  1471,  3002,
    1510,  1472,  1096,  1511,  1473,  1512,  1937,  1513,  1474,  1475,
    1514,  1515,  1516,  1476,  1520,  1517,  1526,  1531,  2661,  1538,
    1544,  1545,  1551,  1554,  2609,  1555,  1557,  1558,   456,  1577,
    1559,  1560,   457,  1561,   399,  1569,  1575,  1972,  1582,  1969,
    1576,  1615,  1586,  1477,  1478,   459,  2462,  1593,  1594,  1595,
    1598,  1626,  1468,  1469,  1629,  1636,  1649,  1650,  1651,  1728,
    1660,  1704,  1799,  1706,  1707,  2464,  1708,  -944,  1470,  1709,
    1841,  1721,  1016,   462,   721,   348,  1710,  1803,  1718,  1722,
    1472,  1096,  1734,  1473,  1723,  1479,  -546,  1768,  1801,  1858,
    1480,  1797,   348,  2268,  1834,  1839,  1840,  2531,  1845,  2532,
    1846,  1849,  2636,  -944,  1848,   464,  1858,  1850,  1876,   466,
     467,  1443,  1905,  1908,  1909,  1481,  1885,  1906,  1910,  -944,
    1911,  1912,  1931,  1478,  1482,  1483,  1484,  1979,  1970,  1974,
    1392,  1984,  1485,  2011,   519,  2028,   468,   985,  2050,  2034,
    1486,  2094,  2098,  2099,  2533,  2101,  2109,  2116,  1312,  2144,
    2600,  2145,   722,  2142,  2823,  2824,  1789,  1790,  2170,  2174,
    2190,  2181,  2201,  2182,  1479,  2204,  2215,  1487,  2310,  1480,
     470,  2207,  3077,   456,   471,  2226,  2238,   457,  2322,  1488,
    2261,  2262,  1443,  2289,  2329,   476,  1532,  2328,  2337,  1312,
     459,  2341,  2342,  2359,  1481,  2343,  2344,  2345,  2346,  2347,
    2352,  2355,  2361,  1482,  1483,  1484,  2362,  2366,  2369,  1312,
    2370,  2374,  2856,  2375,  2188,  -944,  -944,  2382,   462,  1486,
    2389,  2399,  2426,  2434,  2431,  2437,  2448,  2454,  -944,  2457,
    -944,  2458,  2463,  -944,  2461,  2468,  2857,  2858,  2469,  2473,
    2476,   484,  2477,  2489,  2496,  2497,  1487,  2520,  2505,  2508,
     464,  2235,  2521,  2595,   466,   467,  2597,  2601,  1488,  2603,
    2606,  2607,  2610,  2617,  2618,  1489,  2623,  2624,  2628,  2643,
    2644,  2649,  2626,  2652,  -944,  2650,  2140,  2656,  2657,  2663,
    2659,   468,  2662,  2664,  2685,  -944,  2690,  1490,  2696,  1868,
    2704,  2712,  -944,  2692,  2435,  2693,  2713,  2714,  2721,  2723,
    2738,  1491,  2747,  2767,  2163,  2165,  2768,  2774,  2769,  2771,
    2790,  1492,  2775,  2787,  2791,   470,  2788,  2892,  2798,   471,
    2813,  2812,  2799,  2805,  -944,  2814,  2809,  2810,  2816,  2819,
     476,  2822,  2830,  2832,  2833,  2834,  -944,  2843,  2844,  2849,
    2853,  2895,  2198,  2709,  1489,  2951,  2952,  2953,   726,   348,
    2872,  2896,  2854,  2873,   348,  2888,  2206,  2856,  2208,  2882,
    -944,  2884,  2897,  2898,  2900,  -944,  1490,   348,  2901,  -944,
    2859,  2860,  -370,  2764,  2881,  2902,  2903,  2904,  2906,  2916,
    1362,  2857,  2858,  2917,  2934,  2936,   484,  2943,  2945,  2950,
    1492,   348,   348,  -944,  1937,  2971,  2948,  2980,  2978,  2981,
    1937,  2982,  2983,  1937,  1937,  2243,  1858,  2989,  1937,  1937,
    2973,  2984,  2985,  2986,  2990,  2994,  3003,  2995,  3004,  1312,
    3005,  3006,  2797,  3012,  3014,  3015,  3016,  3032,  3041,  3054,
     399,  3059,   348,  3050,   348,  2282,  1937,  2503,  3056,  3057,
    1937,  2302,  2485,  3064,  2306,  3066,  1020,  3071,  1020,  3076,
    3079,  -123,  3092,  -944,   914,   915,   916,   917,   918,   919,
     920,   921,   922,   923,   924,   925,   926,   399,  1937,  3096,
    3097,  -944,  2311,  3093,  3101,  3107,  3100,  1958,  1978,  2910,
    1105,  1106,  1107,  1108,  1109,  1110,  1111,  2820,  1112,  1113,
    1114,  1115,  1116,  1117,  1118,  1119,   415,  1460,  2777,  -944,
    1930,  -995,  -944,  3109,  2955,  1518,  1466,  2850,  2719,  2315,
    3110,  1934,  1889,  1466,  2307,  2859,  2860,  2715,  2253,  2718,
    2728,  2729,  2772,  2974,  2899,  2864,  2891,  2716,  2494,  3065,
    3069,  2970,   927,  3029,  2988,  2977,  1525,  2529,  2297,   914,
     915,   916,   917,   918,   919,   920,   921,   922,   923,   924,
     925,   926,  -944,  -944,  1384,  1815,  2146,  1842,  1396,  1835,
    2447,  2143,  1468,  1469,  2147,  1084,   716,  3013,  2921,  1468,
    1469,  1088,   715,   990,  1788,  1178,  1999,  2890,  1470,  3020,
    2177,  1158,  2909,  2941,  -303,  1470,  3112,  2818,  -303,  2157,
    1472,  1096,  1441,  1473,  1980,  3099,   752,  1472,  1096,  2847,
    1473,  2229,  1151,  2700,  2699,  2665,   681,  2430,  3090,  1530,
    1353,   714,   928,  1130,  3111,  2645,   741,   927,   682,   660,
     578,   683,   929,  2996,   684,  2446,   685,  1546,  3007,  3046,
     686,  3058,  2703,  1478,  2894,   687,  1361,  2222,  2498,  2691,
    1478,  2845,  1847,   688,   709,  2949,  1539,  1428,   689,   690,
     399,  1062,  2486,  1423,  1777,  1772,  2954,     0,     0,   691,
       0,   930,     0,   692,     0,     0,   693,     0,  2460,     0,
       0,   931,   932,     0,  1479,     0,     0,     0,     0,  1480,
       0,  1479,     0,     0,     0,     0,  1480,     0,     0,     0,
       0,     0,   933,   742,     0,     0,     0,   928,     0,     0,
       0,     0,     0,     0,  1481,     0,     0,   929,  1836,     0,
       0,  1481,     0,  1482,  1483,  1484,     0,   780,   694,     0,
    1482,  1483,  1484,   348,     0,     0,     0,     0,   695,  1486,
    1432,  3044,     0,     0,   798,     0,  1486,  2243,     0,     0,
       0,   696,     0,     0,     0,     0,   930,     0,     0,     0,
       0,     0,     0,     0,     0,   934,  1487,     0,   821,     0,
       0,     0,  1937,  1487,     0,     0,     0,     0,  1488,  1937,
       0,     0,     0,     0,     0,  1488,   348,   933,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   853,     0,
    1858,     0,     0,     0,     0,     0,  -303,   399,     0,  3052,
    3053,     0,  3055,   935,     0,     0,     0,     0,     0,     0,
       0,  2537,     0,   985,   399,     0,   697,  3044,  2593,  2538,
     399,     0,     0,     0,     0,  2594,   698,  1088,   699,  1088,
    3073,     0,     0,     0,  2235,     0,     0,     0,     0,   904,
     905,   906,   908,   909,     0,  3075,   700,     0,     0,     0,
    3083,     0,  3084,  3085,  1489,     0,     0,     0,     0,     0,
       0,  1489,     0,     0,     0,     0,     0,     0,     0,   945,
     946,   947,   948,   949,     0,     0,  1490,     0,   701,     0,
       0,     0,     0,  1490,     0,     0,     0,     0,   935,     0,
       0,     0,   812,   814,   816,     0,   950,   951,   952,   953,
    1492,     0,     0,     0,     0,     0,     0,  1492,     0,     0,
    2979,   954,   955,   956,   957,     0,     0,   958,     0,     0,
       0,     0,   936,   937,   938,   939,   940,   941,   942,   943,
       0,     0,     0,     0,     0,     0,     0,  1720,   959,   960,
       0,     0,     0,     0,     0,     0,     0,     0,  1088,  1088,
       0,  1088,     0,     0,     0,     0,     0,     0,     0,     0,
     961,   962,   348,     0,     0,     0,     0,     0,  2320,  2140,
       0,     0,     0,     0,     0,     0,  2655,     0,     0,  1088,
       0,     0,     0,     0,     0,     0,     0,  2922,     0,     0,
       0,     0,     0,  2676,     0,     0,     0,   348,  3036,  1088,
       0,  1088,  1088,     0,     0,     0,     0,   936,   937,   938,
     939,   940,   941,   942,   943,     0,     0,     0,  1362,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1937,     0,
       0,     0,     0,     0,     0,  1937,     0,     0,  1152,     0,
       0,  1159,     0,     0,  1937,     0,     0,  1165,  1166,     0,
    1167,  1168,  1169,  1170,     0,     0,     0,     0,     0,     0,
    1175,  1176,  1177,     0,     0,     0,     0,     0,  1182,     0,
    1184,  1185,  1186,     0,     0,     0,  1188,     0,     0,     0,
    1191,     0,  1192,     0,  1193,     0,  1194,     0,     0,     0,
       0,     0,     0,  1200,  1201,     0,  1202,     0,     0,  1204,
    1205,  1206,  1207,  1208,  1209,  1210,  1211,  1212,  1213,  2782,
    1215,  1216,  1217,  1218,  1219,  1220,     0,     0,     0,     0,
    1230,  1231,   348,  1233,  1234,  1235,     0,  1237,  1238,  1239,
    1240,  1241,  1242,  1243,  1244,  1245,  1858,     0,     0,  1249,
       0,  1250,  1251,  1252,  1253,  1254,     0,     0,  1259,  1260,
    1261,  1262,  1263,  1264,  1265,  1266,  1270,     0,     0,     0,
       0,     0,     0,     0,  1281,     0,     0,     0,     0,  1283,
    1284,  1285,     0,     0,     0,     0,     0,     0,     0,  1294,
       0,     0,     0,  1301,     0,  1302,     0,     0,     0,     0,
       0,     0,     0,  1306,  1307,  1308,  1309,     0,     0,     0,
    1318,  1319,  1320,  1321,     0,  1324,  1325,  1326,  1328,  1330,
    1331,  1332,  1333,  1336,     0,     0,     0,     0,     0,     0,
    2782,   914,   915,   916,   917,   918,   919,   920,   921,   922,
     923,   924,   925,   926,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     1,     0,     2,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1360,     0,
     348,     0,     0,     0,     0,     0,     0,     0,     0,     3,
       4,     0,     0,     5,  2243,     6,     0,     0,     7,     0,
       0,     8,  2908,     0,     9,     0,    10,    11,     0,    12,
       0,    13,    14,    15,     0,    16,    17,     0,    18,   927,
       0,     0,     0,    19,    20,    21,     0,    22,    23,     0,
      24,    25,    26,    27,     0,     0,    28,     0,     0,    29,
     399,     0,     0,    30,    31,  2923,    32,     0,     0,     0,
       0,     0,     0,     0,     0,    33,     0,     0,  2947,   681,
       0,     0,     0,     0,     0,    34,     0,     0,     0,    35,
      36,   682,     0,     0,   683,     0,     0,   684,     0,   685,
       0,  2782,  2782,   686,     0,    37,    38,     0,   687,     0,
       0,     0,     0,     0,     0,  2969,   688,     0,     0,   928,
       0,   689,   690,     0,     0,     0,     0,     0,     0,   929,
       0,    39,   691,     0,     0,     0,   692,     0,     0,   707,
       0,     0,     0,     0,     0,     0,  1535,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  2782,     0,     0,     0,     0,     0,   930,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   931,   932,
       0,     0,   681,     0,     0,     0,     0,     0,     0,     0,
       0,   694,     0,     0,   682,     0,  2198,   683,     0,   933,
     684,   695,   685,     0,     0,     0,   686,     0,     0,     0,
       0,   687,     0,     0,   696,     0,     0,     0,     0,   688,
       0,     0,     0,     0,   689,   690,     0,     0,     0,     0,
       0,     0,    40,     0,     0,   691,    41,     0,    42,   692,
       0,     0,     0,    43,     0,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,     0,     0,
       0,     0,   934,  2947,  2947,     0,  3063,     0,     0,     0,
       0,     0,     0,  1466,     0,     0,  1697,  1699,  1701,  3070,
       0,     0,     0,    44,     0,     0,     0,     0,     0,   697,
       0,     0,     0,     0,   694,     0,     0,     0,  3082,   698,
       0,   699,     0,     0,   695,     0,     0,     0,  1725,     0,
     935,     0,  1727,     0,     0,     0,     0,   696,     0,   700,
      45,    46,     0,   927,     0,  1737,     0,     0,     0,  1468,
    1469,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1362,     0,     0,  -303,  1470,     0,  1767,  -303,     0,
       0,   701,     0,     0,     0,     0,     0,  1472,  1096,  1780,
    1473,   914,   915,   916,   917,   918,   919,   920,   921,   922,
     923,   924,   925,   926,     0,     0,     0,     0,     0,   914,
     915,   916,   917,   918,   919,   920,   921,   922,   923,   924,
     925,   926,   697,     0,     0,     0,     0,     0,     0,     0,
    1478,     0,   698,   928,   699,     0,     0,     0,     0,     0,
       0,     0,     0,   929,     0,     0,     0,     0,     0,     0,
      47,     0,   700,     0,     0,     0,     0,     0,     0,   936,
     937,   938,   939,   940,   941,   942,   943,     0,     0,   927,
       0,  1479,     0,     0,  3087,     0,  1480,     0,     0,     0,
       0,     0,   930,     0,   701,     0,     0,   927,     0,     0,
       0,     0,   931,   932,     0,     0,     0,     0,     0,     0,
      48,  1481,     0,     0,     0,     0,     0,     0,     0,     0,
    1482,  1483,  1484,   933,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1486,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   928,
       0,     0,     0,  1487,     0,     0,     0,     0,     0,   929,
       0,     0,     0,     0,     0,  1488,     0,   928,     0,     0,
       0,     0,     0,     0,     0,     0,   934,   929,     0,     0,
       0,     0,     0,     0,     0,     0,  -303,     0,     0,  1981,
       0,  1982,     0,     0,     0,  1985,     0,     0,   930,     0,
       0,  1987,  1988,     0,     0,     0,     0,     0,   931,   932,
       0,     0,     0,  2002,     0,  2003,   930,     0,     0,  2006,
    2007,     0,     0,     0,   935,     0,   931,   932,  2009,   933,
       0,  2010,     0,     0,     0,     0,  2013,     0,     0,  2016,
       0,     0,     0,     0,     0,     0,  2020,   933,  2021,     0,
       0,  1489,  2024,  2025,  2026,     0,     0,     0,  2029,     0,
    2030,     0,  2031,     0,  2032,     0,     0,     0,  2035,     0,
    2036,     0,  2037,  1490,  2038,     0,  2039,     0,  2041,     0,
       0,     0,     0,  2042,     0,  2043,     0,  2044,     0,     0,
       0,     0,   934,     0,     0,  2045,  2046,  1492,  2047,     0,
    2048,  2049,     0,     0,  2053,  2054,  2055,  2056,  2057,     0,
     934,  2062,  2063,  2064,  2065,     0,  2067,  2068,  2069,  2071,
    2073,  2074,  2075,  2076,  2077,     0,  2079,  2080,     0,  2081,
       0,  2083,  2084,  2085,  2086,  2087,     0,  2089,     0,  2091,
     935,  2093,     0,   936,   937,   938,   939,   940,   941,   942,
     943,     0,     0,  2095,  1292,  1293,  2096,  2097,   935,   914,
     915,   916,   917,   918,   919,   920,   921,   922,   923,   924,
     925,   926,     0,     0,     0,     0,     0,     0,  2107,  2108,
       0,     0,  2112,  2113,  2114,  2115,     0,     0,     0,  2123,
    2124,  2125,  2126,     0,  2128,  2129,  2130,  2132,  2134,  2135,
    2136,  2137,  2138,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   914,   915,   916,   917,   918,   919,   920,   921,   922,
     923,   924,   925,   926,     0,     0,     0,   927,   914,   915,
     916,   917,   918,   919,   920,   921,   922,   923,   924,   925,
     926,     0,     0,     0,     0,     0,     0,     0,     0,   936,
     937,   938,   939,   940,   941,   942,   943,     0,     0,     0,
    1573,  1574,     0,     0,     0,     0,     0,   936,   937,   938,
     939,   940,   941,   942,   943,     0,     0,     0,  1588,  1589,
       0,     0,  2213,     0,     0,     0,     0,     0,     0,   927,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   927,   928,  2239,     0,
       0,     0,     0,     0,     0,     0,     0,   929,     0,     0,
       0,     0,     0,     0,     0,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   930,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   931,   932,     0,   928,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   929,
       0,     0,     0,     0,     0,     0,   928,   933,     0,     0,
       0,     0,     0,     0,     0,     0,   929,     0,     0,     0,
       0,     0,     0,   927,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  2334,     0,     0,   930,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   931,   932,
       0,     0,     0,     0,     0,   930,     0,     0,     0,     0,
    2358,  1567,     0,     0,     0,   931,   932,     0,     0,   933,
     934,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   933,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  2398,
       0,     0,     0,   928,     0,     0,     0,     0,     0,  2403,
       0,     0,     0,   929,     0,     0,     0,     0,   935,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  2412,   934,     0,     0,     0,     0,  2420,     0,  2422,
       0,  2424,     0,     0,     0,     0,     0,     0,     0,   934,
       0,     0,   930,     0,     0,  2432,     0,     0,  2433,     0,
       0,     0,   931,   932,     0,     0,     0,     0,     0,     0,
    2440,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     935,     0,     0,   933,   914,   915,   916,   917,   918,   919,
     920,   921,   922,   923,   924,   925,   926,   935,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   936,   937,   938,
     939,   940,   941,   942,   943,     0,   934,     0,     0,  1568,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   780,
       0,     0,   927,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  2499,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  2512,     0,     0,     0,
       0,     0,     0,     0,   935,     0,     0,     0,  2519,   936,
     937,   938,   939,   940,   941,   942,   943,     0,     0,     0,
    1591,  1592,     0,     0,     0,     0,   936,   937,   938,   939,
     940,   941,   942,   943,     0,     0,     0,  1606,  1607,   914,
     915,   916,   917,   918,   919,   920,   921,   922,   923,   924,
     925,   926,   928,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   929,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  2608,     0,     0,     0,     0,     0,     0,     0,
       0,   930,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   931,   932,  2619,     0,     0,     0,   927,     0,  2620,
    2621,     0,  2622,   936,   937,   938,   939,   940,   941,   942,
     943,  2625,   933,     0,  1608,  1609,     0,     0,     0,     0,
       0,     0,     0,  2629,     0,     0,     0,  2630,     0,     0,
    2631,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  2634,     0,     0,     0,  2635,     0,
       0,     0,     0,  2637,     0,     0,  2638,  2639,     0,     0,
     914,   915,   916,   917,   918,   919,   920,   921,   922,   923,
     924,   925,   926,     0,     0,   934,     0,   928,     0,     0,
       0,  2648,     0,     0,     0,     0,     0,   929,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   914,   915,   916,   917,   918,   919,   920,   921,   922,
     923,   924,   925,   926,  1466,     0,     0,  2670,     0,     0,
       0,     0,     0,   935,     0,     0,   930,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   931,   932,   927,   914,
     915,   916,   917,   918,   919,   920,   921,   922,   923,   924,
     925,   926,     0,     0,     0,     0,     0,   933,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1468,  1469,     0,     0,     0,     0,     0,     0,     0,   927,
       0,     0,     0,     0,     0,  -303,  1470,     0,     0,  -303,
       0,     0,     0,     0,     0,     0,     0,     0,  1472,  1096,
       0,  1473,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   927,   928,     0,
     934,     0,     0,     0,     0,     0,     0,     0,   929,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1478,   936,   937,   938,   939,   940,   941,   942,   943,
       0,     0,     0,  1612,  1613,     0,     0,  1959,     0,   928,
       0,     0,     0,     0,     0,     0,     0,   930,   935,   929,
       0,     0,  2803,     0,  2088,     0,     0,   931,   932,     0,
       0,     0,  1479,     0,     0,     0,  2811,  1480,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   928,   933,     0,
       0,     0,     0,     0,     0,     0,     0,   929,   930,     0,
       0,     0,  1481,     0,     0,     0,     0,     0,   931,   932,
       0,  1482,  1483,  1484,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  2213,     0,     0,     0,  1486,     0,   933,
       0,     0,     0,  2512,     0,     0,   930,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   931,   932,     0,     0,
       0,   934,     0,     0,  1487,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1488,   933,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   936,   937,   938,
     939,   940,   941,   942,   943,     0,     0,  -303,  1618,  1619,
       0,     0,   934,     0,     0,     0,     0,     0,     0,   935,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  2918,     0,     0,     0,     0,
       0,     0,  2919,     0,     0,  2920,     0,     0,     0,     0,
     934,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     935,     0,  2512,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1489,     0,     0,  2942,     0,  2944,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1490,     0,     0,     0,   935,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1492,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   936,   937,
     938,   939,   940,   941,   942,   943,     0,     0,     0,  1620,
    1621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  3001,     0,  1960,     0,   936,
     937,   938,   939,   940,   941,   942,   943,     0,     0,     0,
    1622,  1623,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   936,   937,   938,
     939,   940,   941,   942,   943,    99,   100,   101,   102,   103,
       0,     0,     0,   104,     0,     0,     0,     0,     0,     0,
     437,     0,  3045,     0,     0,     0,   105,  2512,     0,   106,
     438,   108,   109,     0,   110,   111,   112,   113,   439,     0,
       0,   114,     0,  3060,   115,     0,   116,   117,   118,   119,
     120,   440,   121,     0,     0,   122,     0,   123,   441,   442,
     124,     0,     0,   125,   126,   127,   128,   129,   130,     0,
       0,   131,   132,   133,   134,   443,   444,   135,   445,   446,
     137,   447,     0,   139,     0,   140,   141,     0,     0,     0,
       0,   142,   143,   144,   145,   448,   146,   147,   148,  1267,
     149,     0,   150,   151,     0,   449,   450,   153,     0,   154,
       0,   451,     0,     0,   156,     0,   452,   453,     0,   157,
     454,     0,   158,     0,     0,   159,   160,   161,     0,   162,
     163,   164,  3108,     0,   165,   166,   455,   167,   456,   168,
     169,   170,   457,     0,     0,     0,   171,     0,   172,     0,
     173,   458,     0,     0,   174,   459,     0,   175,   176,   177,
       0,   178,     0,   179,     0,     0,   180,     0,     0,   181,
       0,     0,     0,  1268,   460,   182,   183,     0,     0,     0,
     184,   461,   185,   462,     0,     0,   186,   187,   188,   189,
     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
     200,   201,   463,   202,   203,   204,   205,   206,   207,   208,
     209,     0,   210,   211,   212,   464,   213,   465,   214,   466,
     467,   215,     0,   216,   217,     0,     0,     0,     0,     0,
       0,     0,   218,   219,   220,     0,     0,   221,   222,   223,
     224,   225,   226,   227,   228,     0,   468,     0,     0,   229,
       0,   230,     0,   231,   232,     0,     0,   233,   234,   469,
     236,     0,     0,   237,   238,   239,   240,   241,     0,     0,
       0,   242,   243,     0,   244,     0,     0,   245,   246,     0,
     470,     0,  1269,   247,   471,   248,   249,   472,   473,   474,
     475,   250,     0,   251,   252,   476,   253,     0,     0,     0,
     254,     0,     0,   255,   477,   256,     0,     0,     0,     0,
     257,     0,   258,   259,   260,   478,     0,     0,   479,   262,
     480,   263,   481,     0,     0,   265,   266,     0,   267,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   268,   269,
     270,     0,   271,     0,   272,   273,   482,   483,     0,     0,
       0,   484,     0,     0,     0,     0,     0,   276,   485,     0,
     486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
     496,   497,     0,     0,     0,     0,   498,   499,   500,   501,
       0,   502,   503,   278,   279,   504,   505,   506,   507,   508,
       0,   509,   510,   511,   512,   513,   514,   515,   516,     0,
       0,     0,   517,   283,   518,   284,   519,   520,   521,   522,
     523,   524,   525,   526,   527,     0,     0,   528,   288,   289,
     529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
     539,   540,   541,   542,   543,   544,     0,   545,   546,   547,
     548,   549,     0,   299,   550,   551,   552,   553,   554,   555,
     556,   557,   558,   559,   560,   561,   562,   563,   564,   565,
     566,     0,   302,     0,   567,   568,   569,   304,     0,     0,
     305,     0,   306,     0,   307,   308,   309,     0,     0,     0,
     570,   571,     0,     0,     0,     0,   572,     0,   573,     0,
       0,   574,   575,     0,   576,   577,    99,   100,   101,   102,
     103,     0,     0,     0,   104,     0,     0,     0,     0,     0,
       0,   437,     0,     0,     0,     0,     0,   105,     0,     0,
     106,   438,   108,   109,     0,   110,   111,   112,   113,   439,
       0,     0,   114,     0,     0,   115,     0,   116,   117,   118,
     119,   120,   440,   121,     0,     0,   122,     0,   123,   441,
     442,   124,     0,     0,   125,   126,   127,   128,   129,   130,
       0,     0,   131,   132,   133,   134,   443,   444,   135,   445,
     446,   137,   447,     0,   139,     0,   140,   141,  2209,     0,
       0,     0,   142,   143,   144,   145,  2210,   146,   147,   148,
       0,   149,     0,   150,   151,     0,   449,   450,   153,     0,
     154,     0,   451,     0,     0,   156,     0,   452,   453,     0,
     157,  2211,     0,   158,     0,     0,   159,   160,   161,     0,
     162,   163,   164,     0,     0,   165,   166,   455,   167,   456,
     168,   169,   170,   457,     0,     0,     0,   171,     0,   172,
       0,   173,   458,     0,     0,   174,   459,     0,   175,   176,
     177,     0,   178,     0,   179,     0,     0,   180,     0,     0,
     181,     0,     0,     0,     0,   460,   182,   183,     0,     0,
       0,   184,   461,   185,   462,     0,     0,   186,   187,   188,
     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
     199,   200,   201,   463,   202,   203,   204,   205,   206,   207,
     208,   209,     0,   210,   211,   212,   464,   213,   465,   214,
     466,   467,   215,  2212,   216,   217,     0,     0,     0,     0,
       0,     0,     0,   218,   219,   220,     0,     0,   221,   222,
     223,   224,   225,   226,   227,   228,     0,   468,     0,     0,
     229,     0,   230,     0,   231,   232,     0,     0,   233,   234,
     469,   236,     0,     0,   237,   238,   239,   240,   241,     0,
       0,     0,   242,   243,     0,   244,     0,     0,   245,   246,
       0,   470,     0,     0,   247,   471,   248,   249,   472,   473,
     474,   475,   250,     0,   251,   252,   476,   253,     0,     0,
       0,   254,     0,     0,   255,   477,   256,     0,     0,     0,
       0,   257,     0,   258,   259,   260,   478,     0,     0,   479,
     262,   480,   263,   481,     0,     0,   265,   266,     0,   267,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   268,
     269,   270,     0,   271,     0,   272,   273,   482,   483,     0,
       0,     0,   484,     0,     0,     0,     0,     0,   276,   485,
       0,   486,   487,   488,   489,   490,   491,   492,   493,   494,
     495,   496,   497,     0,     0,     0,     0,   498,   499,   500,
     501,     0,   502,   503,   278,   279,   504,   505,   506,   507,
     508,     0,   509,   510,   511,   512,   513,   514,   515,   516,
       0,     0,     0,   517,   283,   518,   284,   519,   520,   521,
     522,   523,   524,   525,   526,   527,     0,     0,   528,   288,
     289,   529,   530,   531,   532,   533,   534,   535,   536,   537,
     538,   539,   540,   541,   542,   543,   544,     0,   545,   546,
     547,   548,   549,     0,   299,   550,   551,   552,   553,   554,
     555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
     565,   566,     0,   302,     0,   567,   568,   569,   304,     0,
       0,   305,     0,   306,     0,   307,   308,   309,     0,     0,
       0,   570,   571,     0,     0,     0,     0,   572,     0,   573,
       0,     0,   574,   575,     0,   576,   577,    99,   100,   101,
     102,   103,     0,     0,     0,   104,     0,     0,     0,     0,
       0,     0,   437,     0,     0,     0,     0,     0,   105,     0,
       0,   106,   438,   108,   109,     0,   110,   111,   112,   113,
     439,     0,     0,   114,     0,     0,   115,     0,   116,   117,
     118,   119,   120,   440,   121,     0,     0,   122,     0,   123,
     441,   442,   124,     0,     0,   125,   126,   127,   128,   129,
     130,   907,     0,   131,   132,   133,   134,   443,   444,   135,
     445,   446,   137,   447,     0,   139,     0,   140,   141,     0,
       0,     0,     0,   142,   143,   144,   145,   448,   146,   147,
     148,     0,   149,     0,   150,   151,     0,   449,   450,   153,
       0,   154,     0,   451,     0,     0,   156,     0,   452,   453,
       0,   157,   454,     0,   158,     0,     0,   159,   160,   161,
       0,   162,   163,   164,     0,     0,   165,   166,   455,   167,
     456,   168,   169,   170,   457,     0,     0,     0,   171,     0,
     172,     0,   173,   458,     0,     0,   174,   459,     0,   175,
     176,   177,     0,   178,     0,   179,     0,     0,   180,     0,
       0,   181,     0,     0,     0,     0,   460,   182,   183,     0,
       0,     0,   184,   461,   185,   462,     0,     0,   186,   187,
     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
     198,   199,   200,   201,   463,   202,   203,   204,   205,   206,
     207,   208,   209,     0,   210,   211,   212,   464,   213,   465,
     214,   466,   467,   215,     0,   216,   217,     0,     0,     0,
       0,     0,     0,     0,   218,   219,   220,     0,     0,   221,
     222,   223,   224,   225,   226,   227,   228,     0,   468,     0,
       0,   229,     0,   230,     0,   231,   232,     0,     0,   233,
     234,   469,   236,     0,     0,   237,   238,   239,   240,   241,
       0,     0,     0,   242,   243,     0,   244,     0,     0,   245,
     246,     0,   470,     0,     0,   247,   471,   248,   249,   472,
     473,   474,   475,   250,     0,   251,   252,   476,   253,     0,
       0,     0,   254,     0,     0,   255,   477,   256,     0,     0,
       0,     0,   257,     0,   258,   259,   260,   478,     0,     0,
     479,   262,   480,   263,   481,     0,     0,   265,   266,     0,
     267,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     268,   269,   270,     0,   271,     0,   272,   273,   482,   483,
       0,     0,     0,   484,     0,     0,     0,     0,     0,   276,
     485,     0,   486,   487,   488,   489,   490,   491,   492,   493,
     494,   495,   496,   497,     0,     0,     0,     0,   498,   499,
     500,   501,     0,   502,   503,   278,   279,   504,   505,   506,
     507,   508,     0,   509,   510,   511,   512,   513,   514,   515,
     516,     0,     0,     0,   517,   283,   518,   284,   519,   520,
     521,   522,   523,   524,   525,   526,   527,     0,     0,   528,
     288,   289,   529,   530,   531,   532,   533,   534,   535,   536,
     537,   538,   539,   540,   541,   542,   543,   544,     0,   545,
     546,   547,   548,   549,     0,   299,   550,   551,   552,   553,
     554,   555,   556,   557,   558,   559,   560,   561,   562,   563,
     564,   565,   566,     0,   302,     0,   567,   568,   569,   304,
       0,     0,   305,     0,   306,     0,   307,   308,   309,     0,
       0,     0,   570,   571,     0,     0,     0,     0,   572,     0,
     573,     0,     0,   574,   575,     0,   576,   577,    99,   100,
     101,   102,   103,     0,     0,     0,   104,     0,     0,     0,
       0,     0,     0,   437,     0,     0,     0,     0,     0,   105,
       0,     0,   106,   438,   108,   109,     0,   110,   111,   112,
     113,   439,     0,     0,   114,     0,     0,   115,     0,   116,
     117,   118,   119,   120,   440,   121,     0,     0,   122,     0,
     123,   441,   442,   124,     0,     0,   125,   126,   127,   128,
     129,   130,     0,     0,   131,   132,   133,   134,   443,   444,
     135,   445,   446,   137,   447,     0,   139,     0,   140,   141,
       0,     0,     0,     0,   142,   143,   144,   145,   448,   146,
     147,   148,     0,   149,     0,   150,   151,     0,   449,   450,
     153,     0,   154,     0,   451,     0,     0,   156,     0,   452,
     453,     0,   157,   454,     0,   158,     0,     0,   159,   160,
     161,     0,   162,   163,   164,     0,     0,   165,   166,   455,
     167,   456,   168,   169,   170,   457,     0,     0,     0,   171,
       0,   172,     0,   173,   458,     0,     0,   174,   459,     0,
     175,   176,   177,     0,   178,     0,   179,     0,     0,   180,
       0,     0,   181,     0,     0,     0,     0,   460,   182,   183,
       0,     0,     0,   184,   461,   185,   462,     0,     0,   186,
     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
     197,   198,   199,   200,   201,   463,   202,   203,   204,   205,
     206,   207,   208,   209,     0,   210,   211,   212,   464,   213,
     465,   214,   466,   467,   215,     0,   216,   217,     0,     0,
       0,     0,     0,     0,     0,   218,   219,   220,     0,     0,
     221,   222,   223,   224,   225,   226,   227,   228,     0,   468,
       0,     0,   229,     0,   230,     0,   231,   232,     0,     0,
     233,   234,   469,   236,     0,     0,   237,   238,   239,   240,
     241,     0,     0,     0,   242,   243,     0,   244,     0,     0,
     245,   246,     0,   470,     0,     0,   247,   471,   248,   249,
     472,   473,   474,   475,   250,     0,   251,   252,   476,   253,
       0,     0,     0,   254,     0,     0,   255,   477,   256,     0,
       0,     0,     0,   257,     0,   258,   259,   260,   478,     0,
       0,   479,   262,   480,   263,   481,     0,     0,   265,   266,
       0,   267,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   268,   269,   270,     0,   271,     0,   272,   273,   482,
     483,     0,     0,     0,   484,     0,     0,     0,     0,     0,
     276,   485,     0,   486,   487,   488,   489,   490,   491,   492,
     493,   494,   495,   496,   497,     0,     0,     0,     0,   498,
     499,   500,   501,     0,   502,   503,   278,   279,   504,   505,
     506,   507,   508,     0,   509,   510,   511,   512,   513,   514,
     515,   516,     0,     0,     0,   517,   283,   518,   284,   519,
     520,   521,   522,   523,   524,   525,   526,   527,     0,     0,
     528,   288,   289,   529,   530,   531,   532,   533,   534,   535,
     536,   537,   538,   539,   540,   541,   542,   543,   544,     0,
     545,   546,   547,   548,   549,     0,   299,   550,   551,   552,
     553,   554,   555,   556,   557,   558,   559,   560,   561,   562,
     563,   564,   565,   566,     0,   302,     0,   567,   568,   569,
     304,     0,     0,   305,     0,   306,     0,   307,   308,   309,
       0,     0,     0,   570,   571,     0,     0,     0,     0,   572,
       0,   573,  1171,     0,   574,   575,     0,   576,   577,    99,
     100,   101,   102,   103,     0,     0,     0,   104,     0,     0,
       0,     0,     0,     0,   437,     0,     0,     0,     0,     0,
     105,     0,     0,   106,   438,   108,   109,     0,   110,   111,
     112,   113,   439,     0,     0,   114,     0,     0,   115,     0,
     116,   117,   118,   119,   120,   440,   121,     0,     0,   122,
       0,   123,   441,   442,   124,     0,     0,   125,   126,   127,
     128,   129,   130,     0,     0,   131,   132,   133,   134,   443,
     444,   135,   445,   446,   137,   447,     0,   139,     0,   140,
     141,     0,     0,     0,     0,   142,   143,   144,   145,   448,
     146,   147,   148,     0,   149,     0,   150,   151,     0,   449,
     450,   153,     0,   154,     0,   451,     0,     0,   156,     0,
     452,   453,     0,   157,   454,     0,   158,     0,     0,   159,
     160,   161,     0,   162,   163,   164,     0,     0,   165,   166,
     455,   167,   456,   168,   169,   170,   457,     0,     0,     0,
     171,     0,   172,     0,   173,   458,     0,     0,   174,   459,
       0,   175,   176,   177,     0,   178,     0,   179,     0,     0,
     180,     0,     0,   181,     0,     0,     0,     0,   460,   182,
     183,     0,     0,     0,   184,   461,   185,   462,     0,     0,
     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
     196,   197,   198,   199,   200,   201,   463,   202,   203,   204,
     205,   206,   207,   208,   209,     0,   210,   211,   212,   464,
     213,   465,   214,   466,   467,   215,     0,   216,   217,     0,
       0,     0,     0,     0,     0,     0,   218,   219,   220,     0,
       0,   221,   222,   223,   224,   225,   226,   227,   228,     0,
     468,     0,     0,   229,     0,   230,     0,   231,   232,     0,
       0,   233,   234,   469,   236,     0,     0,   237,   238,   239,
     240,   241,     0,     0,     0,   242,   243,     0,   244,     0,
       0,   245,   246,     0,   470,     0,     0,   247,   471,   248,
     249,   472,   473,   474,   475,   250,     0,   251,   252,   476,
     253,     0,     0,     0,   254,     0,     0,   255,   477,   256,
       0,     0,     0,     0,   257,     0,   258,   259,   260,   478,
       0,     0,   479,   262,   480,   263,   481,     0,     0,   265,
     266,     0,   267,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   268,   269,   270,     0,   271,     0,   272,   273,
     482,   483,     0,     0,     0,   484,     0,     0,     0,     0,
       0,   276,   485,     0,   486,   487,   488,   489,   490,   491,
     492,   493,   494,   495,   496,   497,     0,     0,     0,     0,
     498,   499,   500,   501,     0,   502,   503,   278,   279,   504,
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
     514,   515,   516,     0,     0,     0,   517,   283,   518,   284,
     519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
       0,   528,   288,   289,   529,   530,   531,   532,   533,   534,
     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
       0,   545,   546,   547,   548,   549,     0,   299,   550,   551,
     552,   553,   554,   555,   556,   557,   558,   559,   560,   561,
     562,   563,   564,   565,   566,     0,   302,     0,   567,   568,
     569,   304,     0,     0,   305,     0,   306,     0,   307,   308,
     309,     0,     0,     0,   570,   571,     0,     0,     0,     0,
     572,     0,   573,  1232,     0,   574,   575,     0,   576,   577,
      99,   100,   101,   102,   103,     0,     0,     0,   104,     0,
       0,     0,     0,     0,     0,   437,     0,     0,     0,     0,
       0,   105,     0,     0,   106,   438,   108,   109,     0,   110,
     111,   112,   113,   439,     0,     0,   114,     0,     0,   115,
       0,   116,   117,   118,   119,   120,   440,   121,     0,     0,
     122,     0,   123,   441,   442,   124,     0,     0,   125,   126,
     127,   128,   129,   130,     0,     0,   131,   132,   133,   134,
     443,   444,   135,   445,   446,   137,   447,     0,   139,     0,
     140,   141,     0,     0,     0,     0,   142,   143,   144,   145,
     448,   146,   147,   148,     0,   149,     0,   150,   151,     0,
     449,   450,   153,     0,   154,     0,   451,     0,     0,   156,
       0,   452,   453,     0,   157,   454,     0,   158,     0,     0,
     159,   160,   161,     0,   162,   163,   164,     0,     0,   165,
     166,   455,   167,   456,   168,   169,   170,   457,     0,     0,
       0,   171,     0,   172,     0,   173,   458,     0,     0,   174,
     459,     0,   175,   176,   177,     0,   178,     0,   179,     0,
       0,   180,     0,     0,   181,     0,     0,     0,     0,   460,
     182,   183,     0,     0,     0,   184,   461,   185,   462,     0,
       0,   186,   187,   188,   189,   190,   191,   192,   193,   194,
     195,   196,   197,   198,   199,   200,   201,   463,   202,   203,
     204,   205,   206,   207,   208,   209,     0,   210,   211,   212,
     464,   213,   465,   214,   466,   467,   215,     0,   216,   217,
       0,     0,     0,     0,     0,     0,     0,   218,   219,   220,
       0,     0,   221,   222,   223,   224,   225,   226,   227,   228,
       0,   468,     0,     0,   229,     0,   230,     0,   231,   232,
       0,     0,   233,   234,   469,   236,     0,     0,   237,   238,
     239,   240,   241,     0,     0,     0,   242,   243,     0,   244,
       0,     0,   245,   246,     0,   470,     0,     0,   247,   471,
     248,   249,   472,   473,   474,   475,   250,     0,   251,   252,
     476,   253,     0,     0,     0,   254,     0,     0,   255,   477,
     256,     0,     0,     0,     0,   257,     0,   258,   259,   260,
     478,     0,     0,   479,   262,   480,   263,   481,     0,     0,
     265,   266,     0,   267,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   268,   269,   270,     0,   271,     0,   272,
     273,   482,   483,     0,     0,     0,   484,     0,     0,     0,
       0,     0,   276,   485,     0,   486,   487,   488,   489,   490,
     491,   492,   493,   494,   495,   496,   497,     0,     0,     0,
       0,   498,   499,   500,   501,     0,   502,   503,   278,   279,
     504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
     513,   514,   515,   516,     0,     0,     0,   517,   283,   518,
     284,   519,   520,   521,   522,   523,   524,   525,   526,   527,
       0,     0,   528,   288,   289,   529,   530,   531,   532,   533,
     534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
     544,     0,   545,   546,   547,   548,   549,     0,   299,   550,
     551,   552,   553,   554,   555,   556,   557,   558,   559,   560,
     561,   562,   563,   564,   565,   566,     0,   302,     0,   567,
     568,   569,   304,     0,     0,   305,     0,   306,     0,   307,
     308,   309,     0,     0,     0,   570,   571,     0,     0,     0,
       0,   572,     0,   573,  1258,     0,   574,   575,     0,   576,
     577,    99,   100,   101,   102,   103,     0,     0,     0,   104,
       0,     0,     0,     0,     0,     0,   437,     0,     0,     0,
       0,     0,   105,     0,     0,   106,   438,   108,   109,     0,
     110,   111,   112,   113,   439,     0,     0,   114,     0,     0,
     115,     0,   116,   117,   118,   119,   120,   440,   121,     0,
       0,   122,     0,   123,   441,   442,   124,     0,     0,   125,
     126,   127,   128,   129,   130,     0,     0,   131,   132,   133,
     134,   443,   444,   135,   445,   446,   137,   447,     0,   139,
       0,   140,   141,     0,     0,     0,     0,   142,   143,   144,
     145,   448,   146,   147,   148,     0,   149,     0,   150,   151,
       0,   449,   450,   153,     0,   154,     0,   451,     0,     0,
     156,     0,   452,   453,     0,   157,   454,     0,   158,     0,
       0,   159,   160,   161,     0,   162,   163,   164,     0,     0,
     165,   166,   455,   167,   456,   168,   169,   170,   457,     0,
       0,     0,   171,     0,   172,     0,   173,   458,     0,     0,
     174,   459,     0,   175,   176,   177,     0,   178,     0,   179,
       0,     0,   180,     0,     0,   181,     0,     0,     0,     0,
     460,   182,   183,     0,     0,     0,   184,   461,   185,   462,
       0,     0,   186,   187,   188,   189,   190,   191,   192,   193,
     194,   195,   196,   197,   198,   199,   200,   201,   463,   202,
     203,   204,   205,   206,   207,   208,   209,     0,   210,   211,
     212,   464,   213,   465,   214,   466,   467,   215,     0,   216,
     217,     0,     0,     0,     0,     0,     0,     0,   218,   219,
     220,     0,     0,   221,   222,   223,   224,   225,   226,   227,
     228,     0,   468,     0,     0,   229,     0,   230,     0,   231,
     232,     0,     0,   233,   234,   469,   236,     0,     0,   237,
     238,   239,   240,   241,     0,     0,     0,   242,   243,     0,
     244,     0,     0,   245,   246,     0,   470,     0,     0,   247,
     471,   248,   249,   472,   473,   474,   475,   250,     0,   251,
     252,   476,   253,     0,     0,     0,   254,     0,     0,   255,
     477,   256,     0,     0,     0,     0,   257,     0,   258,   259,
     260,   478,     0,     0,   479,   262,   480,   263,   481,     0,
       0,   265,   266,     0,   267,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   268,   269,   270,     0,   271,     0,
     272,   273,   482,   483,     0,     0,     0,   484,     0,     0,
       0,     0,     0,   276,   485,     0,   486,   487,   488,   489,
     490,   491,   492,   493,   494,   495,   496,   497,     0,     0,
       0,     0,   498,   499,   500,   501,     0,   502,   503,   278,
     279,   504,   505,   506,   507,   508,     0,   509,   510,   511,
     512,   513,   514,   515,   516,     0,     0,     0,   517,   283,
     518,   284,   519,   520,   521,   522,   523,   524,   525,   526,
     527,     0,     0,   528,   288,   289,   529,   530,   531,   532,
     533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
     543,   544,     0,   545,   546,   547,   548,   549,     0,   299,
     550,   551,   552,   553,   554,   555,   556,   557,   558,   559,
     560,   561,   562,   563,   564,   565,   566,     0,   302,     0,
     567,   568,   569,   304,     0,     0,   305,     0,   306,     0,
     307,   308,   309,     0,     0,     0,   570,   571,     0,     0,
       0,     0,   572,     0,   573,  1280,     0,   574,   575,     0,
     576,   577,    99,   100,   101,   102,   103,     0,     0,     0,
     104,     0,     0,     0,     0,     0,     0,   437,     0,     0,
       0,     0,     0,   105,     0,     0,  1334,   438,   108,   109,
       0,   110,   111,   112,   113,   439,     0,     0,   114,     0,
       0,   115,     0,   116,   117,   118,   119,   120,   440,   121,
       0,     0,   122,     0,   123,   441,   442,   124,     0,     0,
     125,   126,   127,   128,   129,   130,     0,     0,   131,   132,
     133,   134,   443,   444,   135,   445,   446,   137,   447,     0,
     139,     0,   140,   141,  1335,     0,     0,     0,   142,   143,
     144,   145,   448,   146,   147,   148,     0,   149,     0,   150,
     151,     0,   449,   450,   153,     0,   154,     0,   451,     0,
       0,   156,     0,   452,   453,     0,   157,   454,     0,   158,
       0,     0,   159,   160,   161,     0,   162,   163,   164,     0,
       0,   165,   166,   455,   167,   456,   168,   169,   170,   457,
       0,     0,     0,   171,     0,   172,     0,   173,   458,     0,
       0,   174,   459,     0,   175,   176,   177,     0,   178,     0,
     179,     0,     0,   180,     0,     0,   181,     0,     0,     0,
       0,   460,   182,   183,     0,     0,     0,   184,   461,   185,
     462,     0,     0,   186,   187,   188,   189,   190,   191,   192,
     193,   194,   195,   196,   197,   198,   199,   200,   201,   463,
     202,   203,   204,   205,   206,   207,   208,   209,     0,   210,
     211,   212,   464,   213,   465,   214,   466,   467,   215,     0,
     216,   217,     0,     0,     0,     0,     0,     0,     0,   218,
     219,   220,     0,     0,   221,   222,   223,   224,   225,   226,
     227,   228,     0,   468,     0,     0,   229,     0,   230,     0,
     231,   232,     0,     0,   233,   234,   469,   236,     0,     0,
     237,   238,   239,   240,   241,     0,     0,     0,   242,   243,
       0,   244,     0,     0,   245,   246,     0,   470,     0,     0,
     247,   471,   248,   249,   472,   473,   474,   475,   250,     0,
     251,   252,   476,   253,     0,     0,     0,   254,     0,     0,
     255,   477,   256,     0,     0,     0,     0,   257,     0,   258,
     259,   260,   478,     0,     0,   479,   262,   480,   263,   481,
       0,     0,   265,   266,     0,   267,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   268,   269,   270,     0,   271,
       0,   272,   273,   482,   483,     0,     0,     0,   484,     0,
       0,     0,     0,     0,   276,   485,     0,   486,   487,   488,
     489,   490,   491,   492,   493,   494,   495,   496,   497,     0,
       0,     0,     0,   498,   499,   500,   501,     0,   502,   503,
     278,   279,   504,   505,   506,   507,   508,     0,   509,   510,
     511,   512,   513,   514,   515,   516,     0,     0,     0,   517,
     283,   518,   284,   519,   520,   521,   522,   523,   524,   525,
     526,   527,     0,     0,   528,   288,   289,   529,   530,   531,
     532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
     542,   543,   544,     0,   545,   546,   547,   548,   549,     0,
     299,   550,   551,   552,   553,   554,   555,   556,   557,   558,
     559,   560,   561,   562,   563,   564,   565,   566,     0,   302,
       0,   567,   568,   569,   304,     0,     0,   305,     0,   306,
       0,   307,   308,   309,     0,     0,     0,   570,   571,     0,
       0,     0,     0,   572,     0,   573,     0,     0,   574,   575,
       0,   576,   577,    99,   100,   101,   102,   103,     0,     0,
       0,   104,     0,     0,     0,     0,     0,     0,   437,     0,
       0,     0,     0,     0,   105,     0,     0,   106,   438,   108,
     109,     0,   110,   111,   112,   113,   439,     0,     0,   114,
       0,     0,   115,     0,   116,   117,   118,   119,   120,   440,
     121,     0,     0,   122,     0,   123,   441,   442,   124,     0,
       0,   125,   126,   127,   128,   129,   130,     0,     0,   131,
     132,   133,   134,   443,   444,   135,   445,   446,   137,   447,
       0,   139,     0,   140,   141,     0,     0,     0,     0,   142,
     143,   144,   145,   448,   146,   147,   148,     0,   149,     0,
     150,   151,     0,   449,   450,   153,     0,   154,     0,   451,
       0,     0,   156,     0,   452,   453,     0,   157,   454,     0,
     158,     0,     0,   159,   160,   161,     0,   162,   163,   164,
       0,     0,   165,   166,   455,   167,   456,   168,   169,   170,
     457,     0,     0,  1696,   171,     0,   172,     0,   173,   458,
       0,     0,   174,   459,     0,   175,   176,   177,     0,   178,
       0,   179,     0,     0,   180,     0,     0,   181,     0,     0,
       0,     0,   460,   182,   183,     0,     0,     0,   184,   461,
     185,   462,     0,     0,   186,   187,   188,   189,   190,   191,
     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
     463,   202,   203,   204,   205,   206,   207,   208,   209,     0,
     210,   211,   212,   464,   213,   465,   214,   466,   467,   215,
       0,   216,   217,     0,     0,     0,     0,     0,     0,     0,
     218,   219,   220,     0,     0,   221,   222,   223,   224,   225,
     226,   227,   228,     0,   468,     0,     0,   229,     0,   230,
       0,   231,   232,     0,     0,   233,   234,   469,   236,     0,
       0,   237,   238,   239,   240,   241,     0,     0,     0,   242,
     243,     0,   244,     0,     0,   245,   246,     0,   470,     0,
       0,   247,   471,   248,   249,   472,   473,   474,   475,   250,
       0,   251,   252,   476,   253,     0,     0,     0,   254,     0,
       0,   255,   477,   256,     0,     0,     0,     0,   257,     0,
     258,   259,   260,   478,     0,     0,   479,   262,   480,   263,
     481,     0,     0,   265,   266,     0,   267,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   268,   269,   270,     0,
     271,     0,   272,   273,   482,   483,     0,     0,     0,   484,
       0,     0,     0,     0,     0,   276,   485,     0,   486,   487,
     488,   489,   490,   491,   492,   493,   494,   495,   496,   497,
       0,     0,     0,     0,   498,   499,   500,   501,     0,   502,
     503,   278,   279,   504,   505,   506,   507,   508,     0,   509,
     510,   511,   512,   513,   514,   515,   516,     0,     0,     0,
     517,   283,   518,   284,   519,   520,   521,   522,   523,   524,
     525,   526,   527,     0,     0,   528,   288,   289,   529,   530,
     531,   532,   533,   534,   535,   536,   537,   538,   539,   540,
     541,   542,   543,   544,     0,   545,   546,   547,   548,   549,
       0,   299,   550,   551,   552,   553,   554,   555,   556,   557,
     558,   559,   560,   561,   562,   563,   564,   565,   566,     0,
     302,     0,   567,   568,   569,   304,     0,     0,   305,     0,
     306,     0,   307,   308,   309,     0,     0,     0,   570,   571,
       0,     0,     0,     0,   572,     0,   573,     0,     0,   574,
     575,     0,   576,   577,    99,   100,   101,   102,   103,     0,
       0,     0,   104,     0,     0,     0,     0,     0,     0,   437,
       0,     0,     0,     0,     0,   105,     0,     0,   106,   438,
     108,   109,     0,   110,   111,   112,   113,   439,     0,     0,
     114,     0,     0,   115,     0,   116,   117,   118,   119,   120,
     440,   121,     0,     0,   122,     0,   123,   441,   442,   124,
       0,     0,   125,   126,   127,   128,   129,   130,     0,     0,
     131,   132,   133,   134,   443,   444,   135,   445,   446,   137,
     447,     0,   139,     0,   140,   141,     0,     0,     0,     0,
     142,   143,   144,   145,   448,   146,   147,   148,     0,   149,
       0,   150,   151,     0,   449,   450,   153,     0,   154,     0,
     451,     0,     0,   156,     0,   452,   453,     0,   157,   454,
       0,   158,     0,     0,   159,   160,   161,     0,   162,   163,
     164,     0,     0,   165,   166,   455,   167,   456,   168,   169,
     170,   457,     0,     0,  1698,   171,     0,   172,     0,   173,
     458,     0,     0,   174,   459,     0,   175,   176,   177,     0,
     178,     0,   179,     0,     0,   180,     0,     0,   181,     0,
       0,     0,     0,   460,   182,   183,     0,     0,     0,   184,
     461,   185,   462,     0,     0,   186,   187,   188,   189,   190,
     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
     201,   463,   202,   203,   204,   205,   206,   207,   208,   209,
       0,   210,   211,   212,   464,   213,   465,   214,   466,   467,
     215,     0,   216,   217,     0,     0,     0,     0,     0,     0,
       0,   218,   219,   220,     0,     0,   221,   222,   223,   224,
     225,   226,   227,   228,     0,   468,     0,     0,   229,     0,
     230,     0,   231,   232,     0,     0,   233,   234,   469,   236,
       0,     0,   237,   238,   239,   240,   241,     0,     0,     0,
     242,   243,     0,   244,     0,     0,   245,   246,     0,   470,
       0,     0,   247,   471,   248,   249,   472,   473,   474,   475,
     250,     0,   251,   252,   476,   253,     0,     0,     0,   254,
       0,     0,   255,   477,   256,     0,     0,     0,     0,   257,
       0,   258,   259,   260,   478,     0,     0,   479,   262,   480,
     263,   481,     0,     0,   265,   266,     0,   267,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   268,   269,   270,
       0,   271,     0,   272,   273,   482,   483,     0,     0,     0,
     484,     0,     0,     0,     0,     0,   276,   485,     0,   486,
     487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
     497,     0,     0,     0,     0,   498,   499,   500,   501,     0,
     502,   503,   278,   279,   504,   505,   506,   507,   508,     0,
     509,   510,   511,   512,   513,   514,   515,   516,     0,     0,
       0,   517,   283,   518,   284,   519,   520,   521,   522,   523,
     524,   525,   526,   527,     0,     0,   528,   288,   289,   529,
     530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
     540,   541,   542,   543,   544,     0,   545,   546,   547,   548,
     549,     0,   299,   550,   551,   552,   553,   554,   555,   556,
     557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
       0,   302,     0,   567,   568,   569,   304,     0,     0,   305,
       0,   306,     0,   307,   308,   309,     0,     0,     0,   570,
     571,     0,     0,     0,     0,   572,     0,   573,     0,     0,
     574,   575,     0,   576,   577,    99,   100,   101,   102,   103,
       0,     0,     0,   104,     0,     0,     0,     0,     0,     0,
     437,     0,     0,     0,     0,     0,   105,     0,     0,   106,
     438,   108,   109,     0,   110,   111,   112,   113,   439,     0,
       0,   114,     0,     0,   115,     0,   116,   117,   118,   119,
     120,   440,   121,     0,     0,   122,     0,   123,   441,   442,
     124,     0,     0,   125,   126,   127,   128,   129,   130,     0,
       0,   131,   132,   133,   134,   443,   444,   135,   445,   446,
     137,   447,     0,   139,     0,   140,   141,     0,     0,     0,
       0,   142,   143,   144,   145,   448,   146,   147,   148,     0,
     149,     0,   150,   151,     0,   449,   450,   153,     0,   154,
       0,   451,     0,     0,   156,     0,   452,   453,     0,   157,
     454,     0,   158,     0,     0,   159,   160,   161,     0,   162,
     163,   164,     0,     0,   165,   166,   455,   167,   456,   168,
     169,   170,   457,     0,     0,  1700,   171,     0,   172,     0,
     173,   458,     0,     0,   174,   459,     0,   175,   176,   177,
       0,   178,     0,   179,     0,     0,   180,     0,     0,   181,
       0,     0,     0,     0,   460,   182,   183,     0,     0,     0,
     184,   461,   185,   462,     0,     0,   186,   187,   188,   189,
     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
     200,   201,   463,   202,   203,   204,   205,   206,   207,   208,
     209,     0,   210,   211,   212,   464,   213,   465,   214,   466,
     467,   215,     0,   216,   217,     0,     0,     0,     0,     0,
       0,     0,   218,   219,   220,     0,     0,   221,   222,   223,
     224,   225,   226,   227,   228,     0,   468,     0,     0,   229,
       0,   230,     0,   231,   232,     0,     0,   233,   234,   469,
     236,     0,     0,   237,   238,   239,   240,   241,     0,     0,
       0,   242,   243,     0,   244,     0,     0,   245,   246,     0,
     470,     0,     0,   247,   471,   248,   249,   472,   473,   474,
     475,   250,     0,   251,   252,   476,   253,     0,     0,     0,
     254,     0,     0,   255,   477,   256,     0,     0,     0,     0,
     257,     0,   258,   259,   260,   478,     0,     0,   479,   262,
     480,   263,   481,     0,     0,   265,   266,     0,   267,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   268,   269,
     270,     0,   271,     0,   272,   273,   482,   483,     0,     0,
       0,   484,     0,     0,     0,     0,     0,   276,   485,     0,
     486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
     496,   497,     0,     0,     0,     0,   498,   499,   500,   501,
       0,   502,   503,   278,   279,   504,   505,   506,   507,   508,
       0,   509,   510,   511,   512,   513,   514,   515,   516,     0,
       0,     0,   517,   283,   518,   284,   519,   520,   521,   522,
     523,   524,   525,   526,   527,     0,     0,   528,   288,   289,
     529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
     539,   540,   541,   542,   543,   544,     0,   545,   546,   547,
     548,   549,     0,   299,   550,   551,   552,   553,   554,   555,
     556,   557,   558,   559,   560,   561,   562,   563,   564,   565,
     566,     0,   302,     0,   567,   568,   569,   304,     0,     0,
     305,     0,   306,     0,   307,   308,   309,     0,     0,     0,
     570,   571,     0,     0,     0,     0,   572,     0,   573,     0,
       0,   574,   575,     0,   576,   577,    99,   100,   101,   102,
     103,     0,     0,     0,   104,     0,     0,     0,     0,     0,
       0,   437,     0,     0,     0,     0,     0,   105,     0,     0,
     106,   438,   108,   109,     0,   110,   111,   112,   113,   439,
       0,     0,   114,     0,     0,   115,     0,   116,   117,   118,
     119,   120,   440,   121,     0,     0,   122,     0,   123,   441,
     442,   124,     0,     0,   125,   126,   127,   128,   129,   130,
       0,     0,   131,   132,   133,   134,   443,   444,   135,   445,
     446,   137,   447,     0,   139,     0,   140,   141,     0,     0,
       0,     0,   142,   143,   144,   145,   448,   146,   147,   148,
       0,   149,     0,   150,   151,     0,   449,   450,   153,     0,
     154,     0,   451,     0,     0,   156,     0,   452,   453,     0,
     157,   454,     0,   158,     0,     0,   159,   160,   161,     0,
     162,   163,   164,     0,     0,   165,   166,   455,   167,   456,
     168,   169,   170,   457,     0,     0,     0,   171,     0,   172,
       0,   173,   458,     0,     0,   174,   459,     0,   175,   176,
     177,     0,   178,     0,   179,     0,     0,   180,     0,     0,
     181,     0,     0,     0,     0,   460,   182,   183,     0,     0,
       0,   184,   461,   185,   462,     0,     0,   186,   187,   188,
     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
     199,   200,   201,   463,   202,   203,   204,   205,   206,   207,
     208,   209,     0,   210,   211,   212,   464,   213,   465,   214,
     466,   467,   215,     0,   216,   217,     0,     0,     0,     0,
       0,     0,     0,   218,   219,   220,     0,     0,   221,   222,
     223,   224,   225,   226,   227,   228,     0,   468,     0,     0,
     229,     0,   230,     0,   231,   232,     0,     0,   233,   234,
     469,   236,     0,     0,   237,   238,   239,   240,   241,     0,
       0,     0,   242,   243,     0,   244,     0,     0,   245,   246,
       0,   470,     0,     0,   247,   471,   248,   249,   472,   473,
     474,   475,   250,     0,   251,   252,   476,   253,     0,     0,
       0,   254,     0,     0,   255,   477,   256,     0,     0,     0,
       0,   257,     0,   258,   259,   260,   478,     0,     0,   479,
     262,   480,   263,   481,     0,     0,   265,   266,     0,   267,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   268,
     269,   270,     0,   271,     0,   272,   273,   482,   483,     0,
       0,     0,   484,     0,     0,     0,     0,     0,   276,   485,
       0,   486,   487,   488,   489,   490,   491,   492,   493,   494,
     495,   496,   497,     0,     0,     0,     0,   498,   499,   500,
     501,     0,   502,   503,   278,   279,   504,   505,   506,   507,
     508,     0,   509,   510,   511,   512,   513,   514,   515,   516,
       0,     0,     0,   517,   283,   518,   284,   519,   520,   521,
     522,   523,   524,   525,   526,   527,     0,     0,   528,   288,
     289,   529,   530,   531,   532,   533,   534,   535,   536,   537,
     538,   539,   540,   541,   542,   543,   544,     0,   545,   546,
     547,   548,   549,     0,   299,   550,   551,   552,   553,   554,
     555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
     565,   566,     0,   302,     0,   567,   568,   569,   304,     0,
       0,   305,     0,   306,     0,   307,   308,   309,     0,     0,
       0,   570,   571,     0,     0,     0,     0,   572,     0,   573,
       0,     0,   574,   575,     0,   576,   577,    99,   100,   101,
     102,   103,     0,     0,     0,   104,     0,     0,     0,     0,
       0,     0,   437,     0,     0,     0,     0,     0,   105,     0,
       0,   106,   438,   108,   109,     0,   110,   111,   112,   113,
     439,     0,     0,   114,     0,     0,   115,     0,   116,   117,
     118,   119,   120,   440,   121,     0,     0,   122,     0,   123,
     441,   442,   124,     0,     0,   125,   126,   127,   128,   129,
     130,     0,     0,   131,   132,   133,   134,   443,   444,   135,
     445,   446,   137,   447,     0,   139,     0,   140,   141,     0,
       0,     0,     0,   142,   143,   144,   145,   448,   146,   147,
     148,     0,   149,     0,   150,   151,     0,   449,   450,   153,
       0,   154,     0,   451,     0,     0,   156,     0,   452,   453,
       0,   157,   454,     0,   158,     0,     0,   159,   160,   161,
       0,   162,   163,   164,     0,     0,   165,   166,   455,   167,
     456,   168,   169,   170,   457,     0,     0,     0,   171,     0,
     172,     0,   173,   458,     0,     0,   174,   459,     0,   175,
     176,   177,     0,   178,     0,   179,     0,     0,   180,     0,
       0,   181,     0,     0,     0,     0,   460,   182,   183,     0,
       0,     0,   184,   461,   185,   462,     0,     0,   186,   187,
     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
     198,   199,   200,   201,   463,   202,   203,   204,   205,   206,
     207,   208,   209,     0,   210,   211,   212,   464,   213,   465,
     214,   466,   467,   215,     0,   216,   217,     0,     0,     0,
       0,     0,     0,     0,   218,   219,   220,     0,     0,   221,
     222,   223,   224,   225,   226,   227,   228,     0,   468,     0,
       0,   229,     0,   230,     0,   231,   232,     0,     0,   233,
     234,   469,   236,     0,     0,   237,   238,   239,   240,   241,
       0,     0,     0,   242,   243,     0,   244,     0,     0,   245,
     246,     0,   470,     0,     0,   247,   471,   248,   249,   472,
     473,   474,   475,   250,     0,   251,   252,   476,   253,     0,
       0,     0,   254,     0,     0,   255,   477,   256,     0,     0,
       0,     0,   257,     0,   258,   259,   260,   478,     0,     0,
     479,   262,   480,   263,   481,     0,     0,   265,   266,     0,
     267,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     268,   269,   270,     0,   271,     0,   272,   273,   482,   483,
       0,     0,     0,   484,     0,     0,     0,     0,     0,   276,
     485,     0,   486,   487,   488,   489,   490,   491,   492,   493,
     494,   495,   496,   497,     0,     0,     0,     0,   498,   499,
     500,   501,     0,   502,   503,   278,   279,   504,   505,   506,
     507,   508,     0,   509,   510,   511,   512,   513,   514,   515,
     516,     0,     0,     0,   517,   283,   518,   284,  1986,   520,
     521,   522,   523,   524,   525,   526,   527,     0,     0,   528,
     288,   289,   529,   530,   531,   532,   533,   534,   535,   536,
     537,   538,   539,   540,   541,   542,   543,   544,     0,   545,
     546,   547,   548,   549,     0,   299,   550,   551,   552,   553,
     554,   555,   556,   557,   558,   559,   560,   561,   562,   563,
     564,   565,   566,     0,   302,     0,   567,   568,   569,   304,
       0,     0,   305,     0,   306,     0,   307,   308,   309,     0,
       0,     0,   570,   571,     0,     0,     0,     0,   572,     0,
     573,     0,     0,   574,   575,     0,   576,   577,    99,   100,
     101,   102,   103,     0,     0,     0,   104,     0,     0,     0,
       0,     0,     0,   437,     0,     0,     0,     0,     0,   105,
       0,     0,   106,   438,   108,   109,     0,   110,   111,   112,
     113,   439,     0,     0,   114,     0,     0,   115,     0,   116,
     117,   118,   119,   120,   440,   121,     0,     0,   122,     0,
     123,   441,   442,   124,     0,     0,   125,   126,   127,   128,
     129,   130,     0,     0,   131,   132,   133,   134,   443,   444,
     135,   445,   446,   137,   447,     0,   139,     0,   140,   141,
       0,     0,     0,     0,   142,   143,   144,   145,   448,   146,
     147,   148,     0,   149,     0,   150,   151,     0,   449,   450,
     153,     0,   154,     0,   451,     0,     0,   156,     0,   452,
     453,     0,   157,   454,     0,   158,     0,     0,   159,   160,
     161,     0,   162,   163,   164,     0,     0,   165,   166,   455,
     167,   456,   168,   169,   170,   457,     0,     0,     0,   171,
       0,   172,     0,   173,   458,     0,     0,   174,   459,     0,
     175,   176,   177,     0,   178,     0,   179,     0,     0,   180,
       0,     0,   181,     0,     0,     0,     0,   460,   182,   183,
       0,     0,     0,   184,   461,   185,   462,     0,     0,   186,
     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
     197,   198,   199,   200,   201,   463,   202,   203,   204,   205,
     206,   207,   208,   209,     0,   210,   211,   212,   464,   213,
     465,   214,   466,   467,   215,     0,   216,   217,     0,     0,
       0,     0,     0,     0,     0,   218,   219,   220,     0,     0,
     221,   222,   223,   224,   225,   226,   227,   228,     0,   468,
       0,     0,   229,     0,   230,     0,   231,   232,     0,     0,
     233,   234,   469,   236,     0,     0,   237,   238,   239,   240,
     241,     0,     0,     0,   242,   243,     0,   244,     0,     0,
     245,   246,     0,   470,     0,     0,   247,   471,   248,   249,
     472,   473,   474,   475,   250,     0,   251,   252,   476,   253,
       0,     0,     0,   254,     0,     0,   255,   477,   256,     0,
       0,     0,     0,   257,     0,   258,   259,   260,   478,     0,
       0,   479,   262,   480,   263,   481,     0,     0,   265,   266,
       0,   267,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   268,   269,   270,     0,   271,     0,   272,   273,   482,
     483,     0,     0,     0,   484,     0,     0,     0,     0,     0,
     276,   485,     0,   486,   487,   488,   489,   490,   491,   492,
     493,   494,   495,   496,   497,     0,     0,     0,     0,   498,
     499,   500,   501,     0,   502,   503,   278,   279,   504,   505,
     506,   507,   508,     0,   509,   510,   511,   512,   513,   514,
     515,   516,     0,     0,     0,   517,   283,   518,   284,  2082,
     520,   521,   522,   523,   524,   525,   526,   527,     0,     0,
     528,   288,   289,   529,   530,   531,   532,   533,   534,   535,
     536,   537,   538,   539,   540,   541,   542,   543,   544,     0,
     545,   546,   547,   548,   549,     0,   299,   550,   551,   552,
     553,   554,   555,   556,   557,   558,   559,   560,   561,   562,
     563,   564,   565,   566,     0,   302,     0,   567,   568,   569,
     304,     0,     0,   305,     0,   306,     0,   307,   308,   309,
       0,     0,     0,   570,   571,     0,     0,     0,     0,   572,
       0,   573,     0,     0,   574,   575,     0,   576,   577,    99,
     100,   101,   102,   103,     0,     0,     0,   104,     0,     0,
       0,     0,     0,     0,   437,     0,     0,     0,     0,     0,
     105,     0,     0,   106,   438,   108,   109,     0,   110,   111,
     112,   113,   439,     0,     0,   114,     0,     0,   115,     0,
     116,   117,   118,   119,   120,   440,   121,     0,     0,   122,
       0,   123,   441,   442,   124,     0,     0,   125,   126,   127,
     128,   129,   130,     0,     0,   131,   132,   133,   134,   443,
     444,   135,   445,   446,   137,   447,     0,   139,     0,   140,
     141,     0,     0,     0,     0,   142,   143,   144,   145,   448,
     146,   147,   148,     0,   149,     0,   150,   151,     0,   449,
     450,   153,     0,   154,     0,   451,     0,     0,   156,     0,
     452,   453,     0,   157,  2515,     0,   158,     0,     0,   159,
     160,   161,     0,   162,   163,   164,     0,     0,   165,   166,
     455,   167,   456,   168,   169,   170,   457,     0,     0,     0,
     171,     0,   172,     0,   173,   458,     0,     0,   174,   459,
       0,   175,   176,   177,     0,   178,     0,   179,     0,     0,
     180,     0,     0,   181,     0,     0,     0,     0,   460,   182,
     183,     0,     0,     0,   184,   461,   185,   462,     0,     0,
     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
     196,   197,   198,   199,   200,   201,   463,   202,   203,   204,
     205,   206,   207,   208,   209,     0,   210,   211,   212,   464,
     213,   465,   214,   466,   467,   215,     0,   216,   217,     0,
       0,     0,     0,     0,     0,     0,   218,   219,   220,     0,
       0,   221,   222,   223,   224,   225,   226,   227,   228,     0,
     468,     0,     0,   229,     0,   230,     0,   231,   232,     0,
       0,   233,   234,   469,   236,     0,     0,   237,   238,   239,
     240,   241,     0,     0,     0,   242,   243,     0,   244,     0,
       0,   245,   246,     0,   470,     0,     0,   247,   471,   248,
     249,   472,   473,   474,   475,   250,     0,   251,   252,   476,
     253,     0,     0,     0,   254,     0,     0,   255,   477,   256,
       0,     0,     0,     0,   257,     0,   258,   259,   260,   478,
       0,     0,   479,   262,   480,   263,   481,     0,     0,   265,
     266,     0,   267,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   268,   269,   270,     0,   271,     0,   272,   273,
     482,   483,     0,     0,     0,   484,     0,     0,     0,     0,
       0,   276,   485,     0,   486,   487,   488,   489,   490,   491,
     492,   493,   494,   495,   496,   497,     0,     0,     0,     0,
     498,   499,   500,   501,     0,   502,   503,   278,   279,   504,
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
     514,   515,   516,     0,     0,     0,   517,   283,   518,   284,
     519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
       0,   528,   288,   289,   529,   530,   531,   532,   533,   534,
     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
       0,   545,   546,   547,   548,   549,     0,   299,   550,   551,
     552,   553,   554,   555,   556,   557,   558,   559,   560,   561,
     562,   563,   564,   565,   566,     0,   302,     0,   567,   568,
     569,   304,     0,     0,   305,     0,   306,     0,   307,   308,
     309,     0,     0,     0,   570,   571,     0,     0,     0,     0,
     572,     0,   573,     0,     0,   574,   575,     0,   576,   577,
      99,   100,   101,   102,   103,     0,     0,     0,   104,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   105,     0,     0,   106,   107,   108,   109,     0,   110,
     111,   112,   113,     0,     0,     0,   114,     0,     0,   115,
       0,   116,   117,   118,   119,   120,     0,   121,     0,     0,
     122,     0,   123,     0,     0,   124,     0,     0,   125,   126,
     127,   128,   129,   130,  1868,     0,   131,   132,   133,   134,
       0,     0,   135,     0,   136,   137,   138,     0,   139,     0,
     140,   141,     0,     0,     0,     0,   142,   143,   144,   145,
       0,   146,   147,   148,     0,   149,     0,   150,   151,     0,
       0,   152,   153,     0,   154,     0,   155,     0,     0,   156,
    1886,     0,     0,     0,   157,     0,     0,   158,     0,     0,
     159,   160,   161,     0,   162,   163,   164,     0,     0,   165,
     166,     0,   167,     0,   168,   169,   170,     0,     0,     0,
       0,   171,  1887,   172,     0,   173,     0,     0,     0,   174,
       0,     0,   175,   176,   177,     0,   178,  1397,   179,     0,
       0,   180,     0,     0,   181,     0,     0,  1398,     0,     0,
     182,   183,     0,  2312,     0,   184,     0,   185,     0,     0,
       0,   186,   187,   188,   189,   190,   191,   192,   193,   194,
     195,   196,   197,   198,   199,   200,   201,     0,   202,   203,
     204,   205,   206,   207,   208,   209,     0,   210,   211,   212,
       0,   213,     0,   214,     0,     0,   215,     0,   216,   217,
       0,     0,     0,     0,     0,     0,     0,   218,   219,   220,
       0,     0,   221,   222,   223,   224,   225,   226,   227,   228,
       0,     0,     0,     0,   229,     0,   230,     0,   231,   232,
       0,     0,   233,   234,   235,   236,     0,     0,   237,   238,
     239,   240,   241,  1888,     0,     0,   242,   243,     0,   244,
       0,     0,   245,   246,     0,     0,     0,     0,   247,     0,
     248,   249,     0,     0,     0,     0,   250,     0,   251,   252,
       0,   253,     0,     0,     0,   254,     0,     0,   255,     0,
     256,     0,     0,     0,     0,   257,     0,   258,   259,   260,
     261,     0,     0,     0,   262,     0,   263,   264,     0,     0,
     265,   266,     0,   267,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   268,   269,   270,     0,   271,     0,   272,
     273,   274,   275,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   276,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   277,     0,     0,     0,     0,     0,     0,   278,   279,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     280,     0,     0,   281,     0,     0,     0,   282,   283,     0,
     284,     0,     0,     0,     0,   285,     0,     0,     0,   286,
       0,     0,   287,   288,   289,   290,     0,     0,     0,   291,
     292,   293,     0,   294,   295,     0,     0,   296,     0,   297,
       0,     0,     0,     0,     0,     0,   298,     0,   299,   300,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   301,    99,   100,   101,   102,   103,   302,     0,   303,
     104,     0,   304,     0,     0,   305,     0,   306,     0,   307,
     308,   309,     0,   105,     0,     0,   106,   107,   108,   109,
       0,   110,   111,   112,   113,     0,     0,     0,   114,     0,
    1933,   115,     0,   116,   117,   118,   119,   120,     0,   121,
       0,     0,   122,     0,   123,     0,     0,   124,     0,     0,
     125,   126,   127,   128,   129,   130,     0,     0,   131,   132,
     133,   134,     0,     0,   135,     0,   136,   137,   138,     0,
     139,     0,   140,   141,     0,     0,     0,     0,   142,   143,
     144,   145,     0,   146,   147,   148,     0,   149,     0,   150,
     151,     0,     0,   152,   153,     0,   154,     0,   155,     0,
       0,   156,  1886,     0,     0,     0,   157,     0,     0,   158,
       0,     0,   159,   160,   161,     0,   162,   163,   164,     0,
       0,   165,   166,     0,   167,     0,   168,   169,   170,     0,
       0,     0,     0,   171,  1887,   172,     0,   173,     0,     0,
       0,   174,     0,     0,   175,   176,   177,     0,   178,  1397,
     179,     0,     0,   180,     0,     0,   181,     0,     0,  1398,
       0,     0,   182,   183,     0,     0,     0,   184,     0,   185,
       0,     0,     0,   186,   187,   188,   189,   190,   191,   192,
     193,   194,   195,   196,   197,   198,   199,   200,   201,     0,
     202,   203,   204,   205,   206,   207,   208,   209,     0,   210,
     211,   212,     0,   213,     0,   214,     0,     0,   215,     0,
     216,   217,     0,     0,     0,     0,     0,     0,     0,   218,
     219,   220,     0,     0,   221,   222,   223,   224,   225,   226,
     227,   228,     0,     0,     0,     0,   229,     0,   230,     0,
     231,   232,     0,     0,   233,   234,   235,   236,     0,     0,
     237,   238,   239,   240,   241,  1888,     0,     0,   242,   243,
       0,   244,     0,     0,   245,   246,     0,     0,     0,     0,
     247,     0,   248,   249,     0,     0,     0,     0,   250,     0,
     251,   252,     0,   253,     0,     0,     0,   254,     0,     0,
     255,     0,   256,     0,     0,     0,     0,   257,     0,   258,
     259,   260,   261,     0,     0,     0,   262,     0,   263,   264,
       0,     0,   265,   266,     0,   267,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   268,   269,   270,     0,   271,
       0,   272,   273,   274,   275,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   276,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   277,     0,     0,     0,     0,     0,     0,
     278,   279,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   280,     0,     0,   281,     0,     0,     0,   282,
     283,     0,   284,     0,     0,     0,     0,   285,     0,     0,
       0,   286,     0,     0,   287,   288,   289,   290,     0,     0,
       0,   291,   292,   293,     0,   294,   295,     0,     0,   296,
       0,   297,     0,     0,     0,     0,     0,     0,   298,     0,
     299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   301,    99,   100,   101,   102,   103,   302,
       0,   303,   104,     0,   304,     0,     0,   305,     0,   306,
       0,   307,   308,   309,     0,   105,     0,     0,   106,   107,
     108,   109,     0,   110,   111,   112,   113,     0,     0,     0,
     114,     0,  1933,   115,     0,   116,   117,   118,   119,   120,
       0,   121,     0,     0,   122,     0,   123,     0,     0,   124,
       0,     0,   125,   126,   127,   128,   129,   130,  1868,     0,
     131,   132,   133,   134,     0,     0,   135,     0,   136,   137,
     138,     0,   139,     0,   140,   141,     0,     0,     0,     0,
     142,   143,   144,   145,     0,   146,   147,   148,     0,   149,
       0,   150,   151,     0,     0,   152,   153,     0,   154,     0,
     155,     0,     0,   156,     0,     0,     0,     0,   157,     0,
       0,   158,     0,     0,   159,   160,   161,     0,   162,   163,
     164,     0,     0,   165,   166,     0,   167,     0,   168,   169,
     170,     0,     0,     0,     0,   171,     0,   172,     0,   173,
       0,     0,     0,   174,     0,     0,   175,   176,   177,     0,
     178,     0,   179,     0,     0,   180,     0,     0,   181,     0,
       0,     0,     0,     0,   182,   183,     0,     0,     0,   184,
       0,   185,     0,     0,     0,   186,   187,   188,   189,   190,
     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
     201,     0,   202,   203,   204,   205,   206,   207,   208,   209,
       0,   210,   211,   212,     0,   213,     0,   214,     0,     0,
     215,     0,   216,   217,     0,     0,     0,     0,     0,     0,
       0,   218,   219,   220,     0,     0,   221,   222,   223,   224,
     225,   226,   227,   228,     0,     0,     0,     0,   229,     0,
     230,     0,   231,   232,     0,     0,   233,   234,   235,   236,
       0,     0,   237,   238,   239,   240,   241,     0,     0,     0,
     242,   243,     0,   244,     0,     0,   245,   246,     0,     0,
       0,     0,   247,     0,   248,   249,     0,     0,     0,     0,
     250,     0,   251,   252,     0,   253,     0,     0,     0,   254,
       0,     0,   255,     0,   256,     0,     0,     0,     0,   257,
       0,   258,   259,   260,   261,     0,     0,     0,   262,     0,
     263,   264,     0,     0,   265,   266,     0,   267,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   268,   269,   270,
       0,   271,     0,   272,   273,   274,   275,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   276,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   277,     0,     0,     0,     0,
       0,     0,   278,   279,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   280,     0,     0,   281,     0,     0,
       0,   282,   283,     0,   284,     0,     0,     0,     0,   285,
       0,     0,     0,   286,     0,     0,   287,   288,   289,   290,
       0,     0,     0,   291,   292,   293,     0,   294,   295,     0,
       0,   296,     0,   297,     0,     0,     0,     0,     0,     0,
     298,     0,   299,   300,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   301,     0,     0,     0,     0,
       0,   302,     0,   303,     0,     0,   304,     0,     0,   305,
       0,   306,     0,   307,   308,   309,    99,   100,   101,   102,
     103,     0,     0,     0,   104,     0,     0,     0,  2230,     0,
       0,     0,     0,     0,   577,     0,     0,   105,     0,     0,
     106,   107,   108,   109,     0,   110,   111,   112,   113,     0,
       0,     0,   114,     0,     0,   115,     0,   116,   117,   118,
     119,   120,     0,   121,     0,     0,   122,     0,   123,     0,
       0,   124,     0,     0,   125,   126,   127,   128,   129,   130,
       0,     0,   131,   132,   133,   134,     0,     0,   135,     0,
     136,   137,   138,     0,   139,     0,   140,   141,     0,     0,
       0,     0,   142,   143,   144,   145,     0,   146,   147,   148,
       0,   149,     0,   150,   151,     0,     0,   152,   153,     0,
     154,     0,   155,     0,     0,   156,     0,     0,     0,     0,
     157,     0,     0,   158,     0,     0,   159,   160,   161,     0,
     162,   163,   164,     0,     0,   165,   166,     0,   167,     0,
     168,   169,   170,     0,     0,     0,     0,   171,     0,   172,
       0,   173,     0,     0,     0,   174,     0,     0,   175,   176,
     177,     0,   178,     0,   179,     0,     0,   180,  1075,     0,
     181,     0,     0,     0,     0,     0,   182,   183,     0,     0,
       0,   184,     0,   185,     0,     0,     0,   186,   187,   188,
     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
     199,   200,   201,     0,   202,   203,   204,   205,   206,   207,
     208,   209,     0,   210,   211,   212,     0,   213,     0,   214,
       0,     0,   215,     0,   216,   217,     0,     0,     0,     0,
       0,     0,     0,   218,   219,   220,     0,     0,   221,   222,
     223,   224,   225,   226,   227,   228,     0,     0,     0,     0,
     229,     0,   230,     0,   231,   232,     0,     0,   233,   234,
     235,   236,     0,     0,   237,   238,   239,   240,   241,     0,
       0,     0,   242,   243,     0,   244,     0,     0,   245,   246,
       0,     0,     0,     0,   247,     0,   248,   249,     0,     0,
       0,     0,   250,     0,   251,   252,     0,   253,     0,     0,
       0,   254,     0,     0,   255,     0,   256,     0,     0,     0,
       0,   257,     0,   258,   259,   260,   261,     0,     0,     0,
     262,     0,   263,   264,     0,     0,   265,   266,     0,   267,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   268,
     269,   270,     0,   271,     0,   272,   273,   274,   275,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   276,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   277,     0,     0,
       0,     0,     0,     0,   278,   279,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   280,     0,     0,   281,
       0,     0,     0,   282,   283,     0,   284,     0,     0,     0,
       0,   285,     0,     0,     0,   286,     0,     0,   287,   288,
     289,   290,     0,     0,     0,   291,   292,   293,     0,   294,
     295,     0,     0,   296,     0,   297,     0,     0,     0,     0,
       0,     0,   298,     0,   299,   300,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   301,    99,   100,
     101,   102,   103,   302,     0,   303,   104,     0,   304,     0,
       0,   305,     0,   306,     0,   307,   308,   309,     0,   105,
       0,     0,   106,   107,   108,   109,     0,   110,   111,   112,
     113,     0,     0,     0,   114,     0,   310,   115,     0,   116,
     117,   118,   119,   120,     0,   121,     0,     0,   122,     0,
     123,     0,     0,   124,     0,     0,   125,   126,   127,   128,
     129,   130,     0,     0,   131,   132,   133,   134,     0,     0,
     135,     0,   136,   137,   138,     0,   139,     0,   140,   141,
       0,     0,     0,     0,   142,   143,   144,   145,     0,   146,
     147,   148,     0,   149,     0,   150,   151,     0,     0,   152,
     153,     0,   154,     0,   155,     0,     0,   156,     0,     0,
       0,     0,   157,     0,     0,   158,     0,     0,   159,   160,
     161,     0,   162,   163,   164,     0,     0,   165,   166,     0,
     167,     0,   168,   169,   170,     0,     0,     0,     0,   171,
       0,   172,     0,   173,     0,     0,     0,   174,     0,     0,
     175,   176,   177,     0,   178,     0,   179,     0,     0,   180,
       0,     0,   181,     0,     0,     0,     0,     0,   182,   183,
       0,     0,     0,   184,     0,   185,     0,     0,     0,   186,
     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
     197,   198,   199,   200,   201,     0,   202,   203,   204,   205,
     206,   207,   208,   209,     0,   210,   211,   212,     0,   213,
       0,   214,     0,     0,   215,     0,   216,   217,     0,     0,
       0,     0,     0,     0,     0,   218,   219,   220,     0,     0,
     221,   222,   223,   224,   225,   226,   227,   228,     0,     0,
       0,     0,   229,     0,   230,     0,   231,   232,     0,     0,
     233,   234,   235,   236,     0,     0,   237,   238,   239,   240,
     241,     0,     0,     0,   242,   243,     0,   244,     0,     0,
     245,   246,     0,     0,     0,     0,   247,     0,   248,   249,
       0,     0,     0,     0,   250,     0,   251,   252,     0,   253,
       0,     0,     0,   254,     0,     0,   255,     0,   256,     0,
       0,     0,     0,   257,     0,   258,   259,   260,   261,     0,
       0,     0,   262,     0,   263,   264,     0,     0,   265,   266,
       0,   267,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   268,   269,   270,     0,   271,     0,   272,   273,   274,
     275,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     276,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   277,
       0,     0,     0,     0,     0,     0,   278,   279,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   280,     0,
       0,   281,     0,     0,     0,   282,   283,     0,   284,     0,
       0,     0,     0,   285,     0,     0,     0,   286,     0,     0,
     287,   288,   289,   290,     0,     0,     0,   291,   292,   293,
       0,   294,   295,     0,     0,   296,     0,   297,     0,     0,
       0,     0,     0,     0,   298,     0,   299,   300,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
       0,     0,     0,     0,     0,   302,     0,   303,     0,     0,
     304,     0,     0,   305,     0,   306,     0,   307,   308,   309,
      99,   100,   101,   102,   103,  1419,     0,     0,   104,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   310,     0,
       0,   105,     0,     0,   106,   107,   108,   109,     0,   110,
     111,   112,   113,     0,     0,     0,   114,     0,     0,   115,
       0,   116,   117,   118,   119,   120,     0,   121,     0,     0,
     122,     0,   123,     0,     0,   124,     0,     0,   125,   126,
     127,   128,   129,   130,     0,     0,   131,   132,   133,   134,
       0,     0,   135,     0,   136,   137,   138,     0,   139,     0,
     140,   141,     0,     0,     0,     0,   142,   143,   144,   145,
       0,   146,   147,   148,     0,   149,     0,   150,   151,     0,
       0,   152,   153,     0,   154,     0,   155,     0,     0,   156,
       0,     0,     0,     0,   157,     0,     0,   158,     0,     0,
     159,   160,   161,     0,   162,   163,   164,     0,     0,   165,
     166,     0,   167,     0,   168,   169,   170,     0,     0,     0,
       0,   171,     0,   172,     0,   173,     0,     0,     0,   174,
       0,     0,   175,   176,   177,     0,   178,     0,   179,     0,
       0,   180,     0,     0,   181,     0,     0,     0,     0,     0,
     182,   183,     0,     0,     0,   184,     0,   185,     0,     0,
       0,   186,   187,   188,   189,   190,   191,   192,   193,   194,
     195,   196,   197,   198,   199,   200,   201,     0,   202,   203,
     204,   205,   206,   207,   208,   209,     0,   210,   211,   212,
       0,   213,     0,   214,     0,     0,   215,     0,   216,   217,
       0,     0,     0,     0,     0,     0,     0,   218,   219,   220,
       0,     0,   221,   222,   223,   224,   225,   226,   227,   228,
       0,     0,     0,     0,   229,     0,   230,     0,   231,   232,
       0,     0,   233,   234,   235,   236,     0,     0,   237,   238,
     239,   240,   241,     0,     0,     0,   242,   243,     0,   244,
       0,     0,   245,   246,     0,     0,     0,     0,   247,     0,
     248,   249,     0,     0,     0,     0,   250,     0,   251,   252,
       0,   253,     0,     0,     0,   254,     0,     0,   255,     0,
     256,     0,     0,     0,     0,   257,     0,   258,   259,   260,
     261,     0,     0,     0,   262,     0,   263,   264,     0,     0,
     265,   266,     0,   267,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   268,   269,   270,     0,   271,     0,   272,
     273,   274,   275,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   276,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   277,     0,     0,     0,     0,     0,     0,   278,   279,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     280,     0,     0,   281,     0,     0,     0,   282,   283,     0,
     284,     0,     0,     0,     0,   285,     0,     0,     0,   286,
       0,     0,   287,   288,   289,   290,     0,     0,     0,   291,
     292,   293,     0,   294,   295,     0,     0,   296,     0,   297,
       0,     0,     0,     0,     0,     0,   298,     0,   299,   300,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   301,     0,     0,     0,     0,     0,   302,     0,   303,
       0,     0,   304,     0,     0,   305,     0,   306,     0,   307,
     308,   309,    99,   100,   101,   102,   103,     0,     0,     0,
     104,     0,     0,  1932,     0,     0,     0,     0,     0,     0,
    1933,     0,     0,   105,     0,     0,   106,   107,   108,   109,
       0,   110,   111,   112,   113,     0,     0,     0,   114,     0,
       0,   115,     0,   116,   117,   118,   119,   120,     0,   121,
       0,     0,   122,     0,   123,     0,     0,   124,     0,     0,
     125,   126,   127,   128,   129,   130,     0,     0,   131,   132,
     133,   134,     0,     0,   135,     0,   136,   137,   138,     0,
     139,     0,   140,   141,     0,     0,     0,     0,   142,   143,
     144,   145,     0,   146,   147,   148,     0,   149,     0,   150,
     151,     0,     0,   152,   153,     0,   154,     0,   155,     0,
       0,   156,     0,     0,     0,     0,   157,     0,     0,   158,
       0,     0,   159,   160,   161,     0,   162,   163,   164,     0,
       0,   165,   166,     0,   167,     0,   168,   169,   170,     0,
       0,     0,     0,   171,     0,   172,     0,   173,     0,     0,
       0,   174,     0,     0,   175,   176,   177,     0,   178,     0,
     179,     0,     0,   180,     0,     0,   181,     0,     0,     0,
       0,     0,   182,   183,     0,     0,     0,   184,     0,   185,
       0,     0,     0,   186,   187,   188,   189,   190,   191,   192,
     193,   194,   195,   196,   197,   198,   199,   200,   201,     0,
     202,   203,   204,   205,   206,   207,   208,   209,     0,   210,
     211,   212,     0,   213,     0,   214,     0,     0,   215,     0,
     216,   217,     0,     0,     0,     0,     0,     0,     0,   218,
     219,   220,     0,     0,   221,   222,   223,   224,   225,   226,
     227,   228,     0,     0,     0,     0,   229,     0,   230,     0,
     231,   232,     0,     0,   233,   234,   235,   236,     0,     0,
     237,   238,   239,   240,   241,     0,     0,     0,   242,   243,
       0,   244,     0,     0,   245,   246,     0,     0,     0,     0,
     247,     0,   248,   249,     0,     0,     0,     0,   250,     0,
     251,   252,     0,   253,     0,     0,     0,   254,     0,     0,
     255,     0,   256,     0,     0,     0,     0,   257,     0,   258,
     259,   260,   261,     0,     0,     0,   262,     0,   263,   264,
       0,     0,   265,   266,     0,   267,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   268,   269,   270,     0,   271,
       0,   272,   273,   274,   275,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   276,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   277,     0,     0,     0,     0,     0,     0,
     278,   279,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   280,     0,     0,   281,     0,     0,     0,   282,
     283,     0,   284,     0,     0,     0,     0,   285,     0,     0,
       0,   286,     0,     0,   287,   288,   289,   290,     0,     0,
       0,   291,   292,   293,     0,   294,   295,     0,     0,   296,
       0,   297,     0,     0,     0,     0,     0,     0,   298,     0,
     299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   301,     0,     0,     0,     0,     0,   302,
       0,   303,     0,     0,   304,     0,     0,   305,     0,   306,
       0,   307,   308,   309,    99,   100,   101,   102,   103,     0,
       0,     0,   104,     0,     0,     0,  3098,     0,     0,     0,
       0,     0,   577,     0,     0,   105,     0,     0,   106,   107,
     108,   109,     0,   110,   111,   112,   113,     0,     0,     0,
     114,     0,     0,   115,     0,   116,   117,   118,   119,   120,
       0,   121,     0,     0,   122,     0,   123,     0,     0,   124,
       0,     0,   125,   126,   127,   128,   129,   130,     0,     0,
     131,   132,   133,   134,     0,     0,   135,     0,   136,   137,
     138,     0,   139,     0,   140,   141,     0,     0,     0,     0,
     142,   143,   144,   145,     0,   146,   147,   148,     0,   149,
       0,   150,   151,     0,     0,   152,   153,     0,   154,     0,
     155,     0,     0,   156,     0,     0,     0,     0,   157,     0,
       0,   158,     0,     0,   159,   160,   161,     0,   162,   163,
     164,     0,     0,   165,   166,     0,   167,     0,   168,   169,
     170,     0,     0,     0,     0,   171,     0,   172,     0,   173,
       0,     0,     0,   174,     0,     0,   175,   176,   177,     0,
     178,     0,   179,     0,     0,   180,     0,     0,   181,     0,
       0,     0,     0,     0,   182,   183,     0,     0,     0,   184,
       0,   185,     0,     0,     0,   186,   187,   188,   189,   190,
     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
     201,     0,   202,   203,   204,   205,   206,   207,   208,   209,
       0,   210,   211,   212,     0,   213,     0,   214,     0,     0,
     215,     0,   216,   217,     0,     0,     0,     0,     0,     0,
       0,   218,   219,   220,     0,     0,   221,   222,   223,   224,
     225,   226,   227,   228,     0,     0,     0,     0,   229,     0,
     230,     0,   231,   232,     0,     0,   233,   234,   235,   236,
       0,     0,   237,   238,   239,   240,   241,     0,     0,     0,
     242,   243,     0,   244,     0,     0,   245,   246,     0,     0,
       0,     0,   247,     0,   248,   249,     0,     0,     0,     0,
     250,     0,   251,   252,     0,   253,     0,     0,     0,   254,
       0,     0,   255,     0,   256,     0,     0,     0,     0,   257,
       0,   258,   259,   260,   261,     0,     0,     0,   262,     0,
     263,   264,     0,     0,   265,   266,     0,   267,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   268,   269,   270,
       0,   271,     0,   272,   273,   274,   275,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   276,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   277,     0,     0,     0,     0,
       0,     0,   278,   279,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   280,     0,     0,   281,     0,     0,
       0,   282,   283,     0,   284,     0,     0,     0,     0,   285,
       0,     0,     0,   286,     0,     0,   287,   288,   289,   290,
       0,     0,     0,   291,   292,   293,     0,   294,   295,     0,
       0,   296,     0,   297,     0,     0,     0,     0,     0,     0,
     298,     0,   299,   300,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   301,    99,   100,   101,   102,
     103,   302,     0,   303,   104,     0,   304,     0,     0,   305,
       0,   306,     0,   307,   308,   309,     0,   105,     0,     0,
     106,   107,   108,   109,     0,   110,   111,   112,   113,     0,
       0,     0,   114,     0,   310,   115,     0,   116,   117,   118,
     119,   120,     0,   121,     0,     0,   122,     0,   123,     0,
       0,   124,     0,     0,   125,   126,   127,   128,   129,   130,
       0,     0,   131,   132,   133,   134,     0,     0,   135,     0,
     136,   137,   138,     0,   139,     0,   140,   141,     0,     0,
       0,     0,   142,   143,   144,   145,     0,   146,   147,   148,
       0,   149,     0,   150,   151,     0,     0,   152,   153,     0,
     154,     0,   155,     0,     0,   156,     0,     0,     0,     0,
     157,     0,     0,   158,     0,     0,   159,   160,   161,     0,
     162,   163,   164,     0,     0,   165,   166,     0,   396,     0,
     168,   169,   170,     0,     0,     0,     0,   171,     0,   172,
       0,   173,     0,     0,     0,   174,     0,     0,   175,   176,
     177,     0,   178,     0,   179,     0,     0,   180,     0,     0,
     181,     0,     0,     0,     0,     0,   182,   183,     0,     0,
       0,   184,     0,   185,     0,     0,     0,   186,   187,   188,
     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
     199,   200,   201,     0,   202,   203,   204,   205,   206,   207,
     208,   209,     0,   210,   211,   212,     0,   213,     0,   214,
       0,     0,   215,     0,   216,   217,     0,     0,     0,     0,
       0,     0,     0,   218,   219,   220,     0,     0,   221,   222,
     223,   224,   225,   226,   227,   228,     0,     0,     0,     0,
     229,     0,   230,     0,   231,   232,     0,     0,   233,   234,
     235,   236,     0,     0,   237,   238,   239,   240,   241,     0,
       0,     0,   242,   243,     0,   244,     0,     0,   245,   246,
       0,     0,     0,     0,   247,     0,   248,   249,     0,     0,
       0,     0,   250,     0,   251,   252,     0,   253,     0,     0,
       0,   254,     0,     0,   255,     0,   256,     0,     0,     0,
       0,   257,     0,   258,   259,   260,   261,     0,     0,     0,
     262,     0,   263,   264,     0,     0,   265,   266,     0,   267,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   268,
     269,   270,     0,   271,     0,   272,   273,   274,   275,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   276,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   277,     0,     0,
       0,     0,     0,     0,   278,   279,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   280,     0,     0,   281,
       0,     0,     0,   282,   283,     0,   284,     0,     0,     0,
       0,   285,     0,     0,     0,   286,     0,     0,   287,   288,
     289,   290,     0,     0,     0,   291,   292,   293,     0,   294,
     295,     0,     0,   296,     0,   297,     0,     0,     0,     0,
       0,     0,   298,     0,   299,   300,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   301,    99,   100,
     101,   102,   103,   302,     0,   303,   104,     0,   304,     0,
       0,   305,     0,   306,     0,   307,   308,   309,     0,   105,
       0,     0,   106,   107,   108,   109,     0,   110,   111,   112,
     113,     0,     0,     0,   114,     0,   310,   115,     0,   116,
     117,   118,   119,   120,     0,   121,     0,     0,   122,     0,
     123,     0,     0,   124,     0,     0,   125,   126,   127,   128,
     129,   130,     0,     0,   131,   132,   133,   134,     0,     0,
     135,     0,   136,   137,   138,     0,   139,     0,   140,   141,
       0,     0,     0,     0,   142,   143,   144,   145,     0,   146,
     147,   148,     0,   149,     0,   150,   151,     0,     0,   152,
     153,     0,   154,     0,   155,     0,     0,   156,     0,     0,
       0,     0,   157,     0,     0,   158,     0,     0,   159,   160,
     161,     0,   162,   163,   164,     0,     0,   165,   166,     0,
     167,     0,   168,   169,   170,     0,     0,     0,     0,   171,
       0,   172,     0,   173,     0,     0,     0,   174,     0,     0,
     175,   176,   177,     0,   178,     0,   179,     0,     0,   180,
       0,     0,   181,     0,     0,     0,     0,     0,   182,   183,
       0,     0,     0,   184,     0,   185,     0,     0,     0,   186,
     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
     197,   198,   199,   200,   201,     0,   202,   203,   204,   205,
     206,   207,   208,   209,     0,   210,   211,   212,     0,   213,
       0,   214,     0,     0,   215,     0,   216,   217,     0,     0,
       0,     0,     0,     0,     0,   218,   219,   220,     0,     0,
     221,   222,   223,   224,   225,   226,   227,   228,     0,     0,
       0,     0,   229,     0,   230,     0,   231,   232,     0,     0,
     233,   234,   235,   236,     0,     0,   237,   238,   239,   240,
     241,     0,     0,     0,   242,   243,     0,   244,     0,     0,
     245,   246,     0,     0,     0,     0,   247,     0,   248,   249,
       0,     0,     0,     0,   250,     0,   251,   252,     0,   253,
       0,     0,     0,   254,     0,     0,   255,     0,   256,     0,
       0,     0,     0,   257,     0,   258,   259,   260,   261,     0,
       0,     0,   262,     0,   263,   264,     0,     0,   265,   266,
       0,   267,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   268,   269,   270,     0,   271,     0,   272,   273,   274,
     275,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     276,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   277,
       0,     0,     0,     0,     0,     0,   278,   279,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   280,     0,
       0,   281,     0,     0,     0,   282,   283,     0,   284,     0,
       0,     0,     0,   285,     0,     0,     0,   286,     0,     0,
     287,   288,   289,   290,     0,     0,     0,   291,   292,   293,
       0,   294,   295,     0,     0,   296,     0,   297,     0,     0,
       0,     0,     0,     0,   298,     0,   299,   300,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
      99,   100,   101,   102,   103,   302,     0,   303,   104,     0,
     304,     0,     0,   305,     0,   306,     0,   307,   308,   309,
       0,   105,     0,     0,   106,   107,   108,   109,     0,   110,
     111,   112,   113,     0,     0,     0,   114,     0,   577,   115,
       0,   116,   117,   118,   119,   120,     0,   121,     0,     0,
     122,     0,   123,     0,     0,   124,     0,     0,   125,   126,
     127,   128,   129,   130,     0,     0,   131,   132,   133,   134,
       0,     0,   135,     0,   136,   137,   138,     0,   139,     0,
     140,   141,     0,     0,     0,     0,   142,   143,   144,   145,
       0,   146,   147,   148,     0,   149,     0,   150,   151,     0,
       0,   152,   153,     0,   154,     0,   155,     0,     0,   156,
       0,     0,     0,     0,   157,     0,     0,   158,     0,     0,
     159,   160,   161,     0,   162,   163,   164,     0,     0,   165,
     166,     0,   167,     0,   168,   169,   170,     0,     0,     0,
       0,   171,     0,   172,     0,   173,     0,     0,     0,   174,
       0,     0,   175,   176,   177,     0,   178,     0,   179,     0,
       0,   180,     0,     0,   181,     0,     0,     0,     0,     0,
     182,   183,     0,     0,     0,   184,     0,   185,     0,     0,
       0,   186,   187,   188,   189,   190,   191,   192,   193,   194,
     195,   196,   197,   198,   199,   200,   201,     0,   202,   203,
     204,   205,   206,   207,   208,   209,     0,   210,   211,   212,
       0,   213,     0,   214,     0,     0,   215,     0,   216,   217,
       0,     0,     0,     0,     0,     0,     0,   218,   219,   220,
       0,     0,   221,   222,   223,   224,   225,   226,   227,   228,
       0,     0,     0,     0,   229,     0,   230,     0,   231,   232,
       0,     0,   233,   234,   235,   236,     0,     0,   237,   238,
     239,   240,   241,     0,     0,     0,   242,   243,     0,   244,
       0,     0,   245,   246,     0,     0,     0,     0,   247,     0,
     248,   249,     0,     0,     0,     0,   250,     0,   251,   252,
       0,   253,     0,     0,     0,   254,     0,     0,   255,     0,
     256,     0,     0,     0,     0,   257,     0,   258,   259,   260,
     261,     0,     0,     0,   262,     0,   263,   264,     0,     0,
     265,   266,     0,   267,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   268,   269,   270,     0,   271,     0,   272,
     273,   274,   275,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   276,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   277,     0,     0,     0,     0,     0,     0,   278,   279,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     280,     0,     0,   281,     0,     0,     0,   282,   283,     0,
     284,     0,     0,     0,     0,   285,     0,     0,     0,   286,
       0,     0,   287,   288,   289,   290,     0,     0,     0,   291,
     292,   293,     0,   294,   295,     0,     0,   296,     0,   297,
       0,     0,     0,     0,     0,     0,   298,     0,   299,   300,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   301,    99,   100,   101,   102,   103,   302,     0,   303,
     104,     0,   304,     0,     0,   305,     0,   306,     0,   307,
     308,   309,     0,   105,     0,     0,   106,   107,   108,   109,
       0,   110,   111,   112,   113,     0,     0,     0,   114,     0,
    1933,   115,     0,   116,   117,   118,   119,   120,     0,   121,
       0,     0,   122,     0,   123,     0,     0,   124,     0,     0,
     125,   126,   127,   128,   129,   130,     0,     0,   131,   132,
     133,   134,     0,     0,   135,     0,   136,   137,   138,     0,
     139,     0,   140,   141,     0,     0,     0,     0,   142,   143,
     144,   145,     0,   146,   147,   148,     0,   149,     0,   150,
     151,     0,     0,   152,   153,     0,   154,     0,   155,     0,
       0,   156,     0,     0,     0,     0,   157,     0,     0,   158,
       0,     0,   159,   160,   161,     0,   162,   163,   164,     0,
       0,   165,   166,     0,   167,     0,   168,   169,   170,     0,
       0,     0,     0,   171,     0,   172,     0,   173,     0,     0,
       0,   174,     0,     0,   175,   176,   177,     0,   178,     0,
     179,     0,     0,   180,     0,     0,   181,     0,     0,     0,
       0,     0,   182,   183,   345,     0,     0,   184,     0,   185,
       0,     0,     0,   186,   187,   188,   189,   190,   191,   192,
     193,   194,   195,   196,   197,   198,   199,   200,   201,     0,
     202,   203,   204,   205,   206,   207,   208,   209,     0,   210,
     211,   212,     0,   213,     0,   214,     0,     0,   215,     0,
     216,   217,     0,     0,     0,     0,     0,     0,     0,   218,
     219,   220,     0,     0,   221,   222,   223,   224,   225,   226,
     227,   228,     0,     0,     0,     0,   229,     0,   230,     0,
     231,   232,     0,     0,   233,   234,   235,   236,     0,     0,
     237,   238,   239,   240,   241,     0,     0,     0,   242,   243,
       0,   244,     0,     0,   245,   246,     0,   346,     0,     0,
     247,     0,   248,   249,     0,     0,     0,     0,   250,     0,
     251,   252,     0,   253,     0,     0,     0,   254,     0,     0,
     255,     0,   256,     0,     0,     0,     0,   257,     0,   258,
     259,   260,   261,     0,     0,     0,   262,     0,   263,   264,
       0,     0,   265,   266,     0,   267,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   268,   269,   270,     0,   271,
       0,   272,   273,   274,   275,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   276,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   277,     0,     0,     0,     0,     0,     0,
     278,   279,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   280,     0,     0,   281,     0,     0,     0,   282,
     283,     0,   284,     0,     0,     0,     0,   285,     0,     0,
       0,   286,     0,     0,   287,   288,   289,   290,     0,     0,
       0,   291,   292,   293,     0,   294,   295,     0,     0,   296,
       0,   297,     0,     0,     0,     0,     0,     0,   298,     0,
     299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   301,    99,   100,   101,   102,   103,   302,
       0,   303,   104,     0,   304,     0,     0,   305,     0,   306,
       0,   307,   308,   309,     0,   105,     0,     0,   106,   107,
     108,   109,     0,   110,   111,   112,   113,     0,     0,     0,
     114,   911,     0,   115,     0,   116,   117,   118,   119,   120,
       0,   121,     0,     0,   122,     0,   123,     0,     0,   124,
       0,     0,   125,   126,   127,   128,   129,   130,     0,     0,
     131,   132,   133,   134,     0,     0,   135,     0,   136,   137,
     138,     0,   139,     0,   140,   141,     0,     0,     0,     0,
     142,   143,   144,   145,     0,   146,   147,   148,     0,   149,
       0,   150,   151,     0,     0,   152,   153,     0,   154,     0,
     155,     0,     0,   156,     0,     0,     0,     0,   157,     0,
       0,   158,     0,     0,   159,   160,   161,     0,   162,   163,
     164,     0,     0,   165,   166,     0,   167,     0,   168,   169,
     170,     0,     0,     0,     0,   171,     0,   172,     0,   173,
       0,     0,     0,   174,     0,     0,   175,   176,   177,     0,
     178,     0,   179,     0,     0,   180,     0,     0,   181,     0,
       0,     0,     0,     0,   182,   183,   345,     0,     0,   184,
       0,   185,     0,     0,     0,   186,   187,   188,   189,   190,
     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
     201,     0,   202,   203,   204,   205,   206,   207,   208,   209,
       0,   210,   211,   212,     0,   213,     0,   214,     0,     0,
     215,     0,   216,   217,     0,     0,     0,     0,     0,     0,
       0,   218,   219,   220,     0,     0,   221,   222,   223,   224,
     225,   226,   227,   228,     0,     0,     0,     0,   229,     0,
     230,     0,   231,   232,     0,     0,   233,   234,   235,   236,
       0,     0,   237,   238,   239,   240,   241,     0,     0,     0,
     242,   243,     0,   244,     0,     0,   245,   246,     0,   346,
       0,     0,   247,     0,   248,   249,     0,     0,     0,     0,
     250,     0,   251,   252,     0,   253,     0,     0,     0,   254,
       0,     0,   255,     0,   256,     0,     0,     0,     0,   257,
       0,   258,   259,   260,   261,     0,     0,     0,   262,     0,
     263,   264,     0,     0,   265,   266,     0,   267,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   268,   269,   270,
       0,   271,     0,   272,   273,   274,   275,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   276,   914,   915,   916,
     917,   918,   919,   920,   921,   922,   923,   924,   925,   926,
       0,     0,     0,     0,     0,   277,     0,     0,     0,     0,
       0,     0,   278,   279,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   280,     0,     0,   281,     0,     0,
       0,   282,   283,     0,   284,     0,     0,     0,     0,   285,
       0,     0,     0,   286,     0,     0,   287,   288,   289,   290,
       0,     0,     0,   291,   292,   293,     0,   294,   295,     0,
       0,   296,     0,   297,     0,   927,     0,     0,     0,     0,
     298,     0,   299,   300,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   301,     0,     0,     0,     0,
       0,   302,     0,   303,     0,     0,   304,     0,     0,   305,
       0,   306,     0,   307,   308,   309,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1861,   914,   915,   916,   917,   918,   919,
     920,   921,   922,   923,   924,   925,   926,     0,     0,     0,
       0,     0,     0,     0,     0,   928,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   929,     0,     0,     0,     0,
       0,     0,   914,   915,   916,   917,   918,   919,   920,   921,
     922,   923,   924,   925,   926,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,     0,     0,
       0,     0,     0,     0,   930,     0,     0,     0,     0,     0,
       0,     0,   927,     0,   931,   932,     0,     0,     0,   914,
     915,   916,   917,   918,   919,   920,   921,   922,   923,   924,
     925,   926,     0,     0,     0,   933,   914,   915,   916,   917,
     918,   919,   920,   921,   922,   923,   924,   925,   926,     0,
     927,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   927,     0,     0,     0,     0,     0,     0,
       0,   914,   915,   916,   917,   918,   919,   920,   921,   922,
     923,   924,   925,   926,     0,     0,     0,     0,     0,     0,
       0,     0,   928,     0,     0,     0,     0,   927,   934,     0,
       0,     0,   929,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   927,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     928,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     929,   930,     0,   928,     0,     0,   935,     0,     0,   927,
       0,   931,   932,   929,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   933,     0,     0,     0,     0,   928,     0,   930,
       0,     0,     0,     0,     0,     0,     0,   929,     0,   931,
     932,     0,   930,     0,   928,     0,     0,     0,     0,     0,
       0,     0,   931,   932,   929,     0,     0,     0,     0,     0,
     933,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   933,     0,     0,   930,     0,     0,   928,
       0,     0,     0,     0,     0,   934,   931,   932,     0,   929,
       0,     0,     0,   930,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   931,   932,     0,     0,   933,     0,     0,
       0,     0,     0,     0,     0,   936,   937,   938,   939,   940,
     941,   942,   943,   934,   933,     0,  1624,  1625,   930,     0,
       0,     0,     0,   935,     0,     0,   934,     0,   931,   932,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   933,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     934,   935,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   935,     0,     0,   934,     0,     0,
       0,     0,     0,     0,     0,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   935,     0,
       0,     0,   934,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   935,     0,     0,     0,   914,
     915,   916,   917,   918,   919,   920,   921,   922,   923,   924,
     925,   926,   936,   937,   938,   939,   940,   941,   942,   943,
       0,     0,     0,  1634,  1635,     0,     0,     0,     0,     0,
     935,     0,     0,   927,   914,   915,   916,   917,   918,   919,
     920,   921,   922,   923,   924,   925,   926,     0,     0,     0,
     936,   937,   938,   939,   940,   941,   942,   943,     0,     0,
       0,  1643,  1644,   936,   937,   938,   939,   940,   941,   942,
     943,     0,     0,     0,  1645,  1646,     0,   927,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   936,   937,   938,
     939,   940,   941,   942,   943,     0,     0,     0,  1647,  1648,
       0,     0,   927,   928,   936,   937,   938,   939,   940,   941,
     942,   943,     0,   929,     0,  1655,  1656,     0,     0,     0,
       0,     0,     0,     0,  1693,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,     0,   936,
     937,   938,   939,   940,   941,   942,   943,   928,     0,     0,
    1658,  1659,   930,     0,     0,     0,     0,   929,     0,     0,
       0,     0,   931,   932,     0,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,     0,     0,
       0,     0,   928,   933,     0,     0,     0,     0,     0,     0,
       0,     0,   929,     0,     0,     0,   930,     0,     0,     0,
       0,     0,     0,   927,     0,     0,   931,   932,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   933,     0,     0,
       0,   930,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   931,   932,   927,     0,     0,   934,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   933,   914,   915,   916,   917,   918,   919,   920,
     921,   922,   923,   924,   925,   926,     0,     0,     0,     0,
       0,     0,     0,   928,     0,     0,     0,     0,     0,     0,
     934,     0,     0,   929,   935,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   914,
     915,   916,   917,   918,   919,   920,   921,   922,   923,   924,
     925,   926,     0,   928,     0,   934,     0,     0,     0,     0,
       0,     0,   930,   929,     0,     0,     0,     0,   935,     0,
       0,   927,   931,   932,     0,     0,     0,     0,     0,   914,
     915,   916,   917,   918,   919,   920,   921,   922,   923,   924,
     925,   926,     0,   933,     0,     0,     0,     0,     0,     0,
       0,     0,   930,   935,     0,     0,     0,     0,     0,     0,
       0,     0,   931,   932,     0,     0,     0,   927,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   933,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   936,   937,   938,   939,   940,   941,   942,
     943,   928,     0,     0,  1689,  1690,   934,   927,     0,     0,
       0,   929,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   936,   937,   938,
     939,   940,   941,   942,   943,     0,   934,   928,     0,  1694,
     930,     0,     0,     0,   935,     0,     0,   929,     0,     0,
     931,   932,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   936,   937,   938,   939,   940,   941,   942,   943,
       0,   933,     0,  1713,  1714,     0,     0,   928,     0,     0,
       0,     0,     0,     0,   935,     0,   930,   929,     0,     0,
       0,     0,     0,     0,     0,     0,   931,   932,     0,     0,
       0,     0,     0,   914,   915,   916,   917,   918,   919,   920,
     921,   922,   923,   924,   925,   926,     0,   933,     0,     0,
       0,     0,     0,     0,     0,     0,   930,     0,     0,     0,
       0,     0,     0,     0,   934,     0,   931,   932,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   933,     0,     0,
       0,     0,     0,   936,   937,   938,   939,   940,   941,   942,
     943,     0,     0,     0,  1716,  1717,     0,     0,     0,     0,
     934,   927,   935,     0,     0,     0,     0,     0,   914,   915,
     916,   917,   918,   919,   920,   921,   922,   923,   924,   925,
     926,     0,     0,   936,   937,   938,   939,   940,   941,   942,
     943,     0,     0,     0,  2387,  2388,     0,     0,     0,     0,
     934,     0,     0,     0,     0,     0,     0,     0,   935,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   914,
     915,   916,   917,   918,   919,   920,   921,   922,   923,   924,
     925,   926,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   928,     0,     0,     0,     0,   927,     0,   935,     0,
       0,   929,     0,     0,     0,     0,     0,     0,     0,   914,
     915,   916,   917,   918,   919,   920,   921,   922,   923,   924,
     925,   926,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   936,   937,   938,   939,   940,   941,   942,   943,     0,
     930,     0,  2390,  2391,     0,     0,     0,   927,     0,     0,
     931,   932,     0,     0,   914,   915,   916,   917,   918,   919,
     920,   921,   922,   923,   924,   925,   926,     0,     0,     0,
       0,   933,     0,     0,     0,     0,   928,   936,   937,   938,
     939,   940,   941,   942,   943,     0,   929,   927,  2416,  2417,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   936,   937,   938,
     939,   940,   941,   942,   943,   930,     0,   928,  2795,  2796,
       0,     0,   927,     0,   934,   931,   932,   929,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   933,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   928,     0,     0,
       0,     0,     0,     0,     0,     0,   930,   929,     0,     0,
       0,     0,   935,     0,     0,     0,   931,   932,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   933,     0,     0,
       0,     0,   928,     0,     0,     0,   930,     0,     0,   934,
       0,     0,   929,     0,     0,     0,   931,   932,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   933,   914,   915,
     916,   917,   918,   919,   920,   921,   922,   923,   924,   925,
     926,   930,     0,     0,     0,     0,     0,   935,     0,     0,
     934,   931,   932,     0,     0,     0,     0,     0,   914,   915,
     916,   917,   918,   919,   920,   921,   922,   923,   924,   925,
     926,     0,   933,     0,     0,     0,     0,     0,     0,     0,
       0,   936,   937,   938,   939,   940,   941,   942,   943,     0,
     934,     0,  2992,  2993,     0,     0,     0,     0,   935,     0,
       0,     0,     0,     0,     0,     0,   927,     0,     0,   914,
     915,   916,   917,   918,   919,   920,   921,   922,   923,   924,
     925,   926,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   934,   927,     0,   935,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   936,   937,   938,   939,
     940,   941,   942,   943,     0,     0,     0,     0,  1550,     0,
       0,     0,     0,   935,     0,     0,   928,   927,     0,     0,
       0,     0,     0,     0,     0,     0,   929,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   928,   936,   937,   938,
     939,   940,   941,   942,   943,     0,   929,     0,     0,  1556,
       0,     0,     0,     0,     0,   930,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   931,   932,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   936,   937,   938,
     939,   940,   941,   942,   943,   930,   933,   928,     0,  1562,
       0,     0,     0,     0,     0,   931,   932,   929,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   933,     0,     0,     0,
       0,     0,   936,   937,   938,   939,   940,   941,   942,   943,
       0,     0,     0,     0,  1563,     0,   930,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   931,   932,     0,   934,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   933,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   934,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   935,   914,   915,
     916,   917,   918,   919,   920,   921,   922,   923,   924,   925,
     926,   914,   915,   916,   917,   918,   919,   920,   921,   922,
     923,   924,   925,   926,     0,     0,     0,   935,     0,     0,
     934,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   914,
     915,   916,   917,   918,   919,   920,   921,   922,   923,   924,
     925,   926,   914,   915,   916,   917,   918,   919,   920,   921,
     922,   923,   924,   925,   926,     0,   927,     0,   935,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   927,
     914,   915,   916,   917,   918,   919,   920,   921,   922,   923,
     924,   925,   926,   914,   915,   916,   917,   918,   919,   920,
     921,   922,   923,   924,   925,   926,   936,   937,   938,   939,
     940,   941,   942,   943,     0,     0,     0,   927,  1571,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     927,     0,     0,     0,     0,     0,   936,   937,   938,   939,
     940,   941,   942,   943,     0,     0,   928,     0,  1572,     0,
       0,     0,     0,     0,     0,     0,   929,     0,   927,   928,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   929,
       0,   927,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   936,   937,   938,
     939,   940,   941,   942,   943,   930,     0,   928,     0,  1578,
       0,     0,     0,     0,     0,   931,   932,   929,   930,     0,
     928,     0,     0,     0,     0,     0,     0,     0,   931,   932,
     929,     0,     0,     0,     0,     0,   933,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   928,   933,
       0,     0,     0,     0,     0,     0,   930,     0,   929,     0,
       0,   928,     0,     0,     0,     0,   931,   932,     0,   930,
       0,   929,     0,     0,     0,     0,     0,     0,     0,   931,
     932,     0,     0,     0,     0,     0,     0,   933,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   930,     0,   934,
     933,     0,     0,     0,     0,     0,     0,   931,   932,     0,
     930,     0,   934,     0,     0,     0,     0,     0,     0,     0,
     931,   932,     0,     0,     0,     0,     0,     0,   933,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   933,     0,     0,     0,     0,     0,   935,     0,     0,
     934,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     935,     0,     0,   934,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   934,     0,     0,     0,     0,     0,     0,   935,     0,
       0,     0,     0,     0,   934,     0,     0,     0,     0,     0,
       0,   935,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   914,   915,   916,   917,   918,   919,   920,   921,   922,
     923,   924,   925,   926,     0,     0,     0,     0,     0,   935,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   935,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   936,   937,   938,   939,
     940,   941,   942,   943,     0,     0,     0,     0,  1580,   936,
     937,   938,   939,   940,   941,   942,   943,     0,     0,     0,
       0,  1581,     0,     0,     0,     0,     0,     0,     0,   927,
       0,     0,   914,   915,   916,   917,   918,   919,   920,   921,
     922,   923,   924,   925,   926,     0,     0,   936,   937,   938,
     939,   940,   941,   942,   943,     0,     0,     0,     0,  1599,
     936,   937,   938,   939,   940,   941,   942,   943,     0,     0,
       0,     0,  1600,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   936,   937,
     938,   939,   940,   941,   942,   943,     0,     0,     0,     0,
    1602,   936,   937,   938,   939,   940,   941,   942,   943,   928,
     927,     0,     0,  1603,     0,     0,     0,     0,     0,   929,
       0,     0,     0,     0,     0,     0,     0,   914,   915,   916,
     917,   918,   919,   920,   921,   922,   923,   924,   925,   926,
     914,   915,   916,   917,   918,   919,   920,   921,   922,   923,
     924,   925,   926,     0,     0,     0,     0,     0,   930,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   931,   932,
     914,   915,   916,   917,   918,   919,   920,   921,   922,   923,
     924,   925,   926,     0,     0,     0,     0,     0,     0,   933,
     928,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     929,     0,     0,     0,     0,   927,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   927,     0,
       0,     0,     0,     0,     0,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,     0,   930,
       0,     0,     0,     0,     0,     0,     0,     0,   927,   931,
     932,     0,   934,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     933,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   928,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   929,     0,     0,   928,     0,
     935,     0,     0,   927,     0,     0,     0,     0,   929,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   928,     0,
       0,     0,     0,   934,   930,     0,     0,     0,   929,     0,
       0,     0,     0,     0,   931,   932,     0,   930,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   931,   932,     0,
       0,     0,     0,     0,     0,   933,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   930,   933,     0,
       0,   935,     0,   928,     0,     0,     0,   931,   932,     0,
       0,     0,     0,   929,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   933,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   936,
     937,   938,   939,   940,   941,   942,   943,     0,   934,     0,
       0,  1605,   930,     0,     0,     0,     0,     0,     0,     0,
       0,   934,   931,   932,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   933,     0,     0,     0,     0,     0,     0,
       0,   934,     0,     0,     0,     0,   935,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   935,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     936,   937,   938,   939,   940,   941,   942,   943,     0,     0,
       0,     0,  1610,     0,     0,     0,     0,     0,     0,   935,
       0,     0,     0,     0,     0,     0,   934,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   914,   915,   916,   917,   918,   919,   920,
     921,   922,   923,   924,   925,   926,   914,   915,   916,   917,
     918,   919,   920,   921,   922,   923,   924,   925,   926,     0,
       0,     0,     0,     0,   935,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,     0,     0,
       0,     0,     0,     0,     0,   936,   937,   938,   939,   940,
     941,   942,   943,     0,     0,     0,     0,  1611,   936,   937,
     938,   939,   940,   941,   942,   943,     0,     0,     0,     0,
    1614,   927,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   927,     0,     0,     0,   936,   937,
     938,   939,   940,   941,   942,   943,     0,     0,     0,     0,
    1616,     0,     0,   927,     0,     0,   914,   915,   916,   917,
     918,   919,   920,   921,   922,   923,   924,   925,   926,     0,
     914,   915,   916,   917,   918,   919,   920,   921,   922,   923,
     924,   925,   926,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   936,   937,   938,   939,   940,   941,   942,
     943,   928,     0,     0,     0,  1617,     0,     0,     0,     0,
       0,   929,     0,     0,   928,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   929,     0,     0,     0,     0,     0,
       0,     0,     0,   928,   927,     0,     0,     0,     0,     0,
       0,     0,     0,   929,     0,     0,     0,     0,   927,     0,
     930,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     931,   932,     0,   930,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   931,   932,     0,     0,     0,     0,     0,
       0,   933,   930,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   931,   932,   933,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   933,   928,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   929,     0,     0,     0,   928,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   929,     0,
       0,     0,     0,     0,   934,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   934,     0,     0,
       0,     0,     0,   930,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   931,   932,     0,   934,   930,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   931,   932,     0,
       0,     0,   935,     0,   933,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   935,     0,     0,   933,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   935,     0,     0,     0,     0,     0,
     914,   915,   916,   917,   918,   919,   920,   921,   922,   923,
     924,   925,   926,     0,   914,   915,   916,   917,   918,   919,
     920,   921,   922,   923,   924,   925,   926,   934,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   934,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   914,   915,
     916,   917,   918,   919,   920,   921,   922,   923,   924,   925,
     926,     0,     0,     0,     0,   935,     0,     0,   927,     0,
       0,   936,   937,   938,   939,   940,   941,   942,   943,   935,
       0,     0,   927,  1631,   936,   937,   938,   939,   940,   941,
     942,   943,     0,     0,     0,     0,  1633,     0,     0,     0,
       0,     0,     0,   936,   937,   938,   939,   940,   941,   942,
     943,     0,     0,     0,     0,  1637,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   927,     0,     0,     0,
       0,     0,     0,     0,   914,   915,   916,   917,   918,   919,
     920,   921,   922,   923,   924,   925,   926,     0,   928,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   929,     0,
       0,     0,   928,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   929,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   936,   937,   938,   939,   940,   941,
     942,   943,     0,     0,     0,     0,  1638,   930,   936,   937,
     938,   939,   940,   941,   942,   943,   928,   931,   932,     0,
    1639,   930,   927,     0,     0,     0,   929,     0,     0,     0,
       0,   931,   932,     0,     0,     0,     0,     0,   933,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   933,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   930,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   931,   932,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   933,     0,     0,     0,
       0,   934,   928,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   929,     0,     0,   934,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   914,   915,   916,   917,   918,   919,   920,   921,
     922,   923,   924,   925,   926,     0,     0,     0,     0,   935,
       0,   930,     0,     0,     0,     0,     0,     0,     0,   934,
       0,   931,   932,   935,     0,     0,   914,   915,   916,   917,
     918,   919,   920,   921,   922,   923,   924,   925,   926,     0,
       0,     0,   933,   914,   915,   916,   917,   918,   919,   920,
     921,   922,   923,   924,   925,   926,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   935,     0,     0,
     927,     0,     0,   914,   915,   916,   917,   918,   919,   920,
     921,   922,   923,   924,   925,   926,     0,   914,   915,   916,
     917,   918,   919,   920,   921,   922,   923,   924,   925,   926,
       0,     0,     0,     0,   927,   934,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   927,     0,     0,     0,     0,     0,     0,   936,   937,
     938,   939,   940,   941,   942,   943,     0,     0,     0,     0,
    1657,     0,   936,   937,   938,   939,   940,   941,   942,   943,
     928,   927,     0,   935,  1687,     0,     0,     0,     0,     0,
     929,     0,     0,     0,     0,   927,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   928,     0,   936,   937,   938,   939,
     940,   941,   942,   943,   929,     0,     0,     0,  1688,   930,
       0,   928,     0,     0,     0,     0,     0,     0,     0,   931,
     932,   929,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     933,   928,     0,   930,     0,     0,     0,     0,     0,     0,
       0,   929,     0,   931,   932,   928,     0,     0,     0,     0,
     930,     0,     0,     0,     0,   929,     0,     0,     0,     0,
     931,   932,     0,     0,   933,     0,     0,     0,     0,     0,
       0,     0,   936,   937,   938,   939,   940,   941,   942,   943,
     930,   933,     0,     0,  1692,     0,     0,     0,     0,     0,
     931,   932,     0,   934,   930,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   931,   932,     0,     0,     0,     0,
       0,   933,   914,   915,   916,   917,   918,   919,   920,   921,
     922,   923,   924,   925,   926,   933,     0,   934,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   935,     0,     0,   934,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   934,   935,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   934,     0,
     927,     0,   935,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,     0,     0,
       0,     0,   935,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   935,     0,     0,     0,
       0,     0,   914,   915,   916,   917,   918,   919,   920,   921,
     922,   923,   924,   925,   926,     0,     0,     0,     0,     0,
     936,   937,   938,   939,   940,   941,   942,   943,     0,     0,
     928,     0,  1695,     0,     0,     0,     0,     0,     0,     0,
     929,     0,     0,   927,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   936,   937,   938,   939,   940,   941,
     942,   943,     0,     0,     0,     0,  2333,     0,     0,     0,
       0,   936,   937,   938,   939,   940,   941,   942,   943,   930,
     927,     0,     0,  2354,     0,     0,     0,     0,     0,   931,
     932,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   936,   937,   938,   939,   940,   941,   942,   943,     0,
     933,     0,     0,  2363,     0,   936,   937,   938,   939,   940,
     941,   942,   943,   928,     0,     0,     0,  2372,     0,     0,
       0,     0,     0,   929,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   914,   915,   916,
     917,   918,   919,   920,   921,   922,   923,   924,   925,   926,
     928,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     929,     0,   930,   934,     0,     0,     0,     0,     0,     0,
       0,     0,   931,   932,     0,     0,     0,     0,     0,     0,
     914,   915,   916,   917,   918,   919,   920,   921,   922,   923,
     924,   925,   926,   933,     0,     0,     0,     0,     0,   930,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   931,
     932,   935,     0,     0,     0,   927,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     933,     0,     0,   914,   915,   916,   917,   918,   919,   920,
     921,   922,   923,   924,   925,   926,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   934,     0,   927,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   914,   915,   916,   917,   918,   919,   920,
     921,   922,   923,   924,   925,   926,     0,     0,     0,     0,
       0,     0,     0,   934,     0,   928,     0,     0,     0,     0,
       0,     0,     0,     0,   935,   929,     0,     0,     0,     0,
       0,   927,     0,     0,     0,  1702,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     936,   937,   938,   939,   940,   941,   942,   943,   928,     0,
       0,   935,  2384,     0,   930,     0,     0,     0,   929,     0,
       0,   927,     0,     0,   931,   932,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   933,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   930,     0,     0,
       0,   928,     0,     0,     0,     0,     0,   931,   932,     0,
       0,   929,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   933,     0,
       0,     0,     0,   936,   937,   938,   939,   940,   941,   942,
     943,   928,     0,     0,     0,  2409,     0,     0,   934,     0,
     930,   929,     0,     0,     0,     0,     0,     0,     0,     0,
     931,   932,     0,     0,     0,     0,     0,     0,     0,     0,
     936,   937,   938,   939,   940,   941,   942,   943,     0,     0,
       0,   933,  2418,     0,     0,     0,     0,     0,     0,     0,
     930,   934,     0,     0,     0,     0,   935,     0,     0,     0,
     931,   932,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   933,   914,   915,   916,   917,   918,   919,   920,   921,
     922,   923,   924,   925,   926,     0,     0,     0,     0,   935,
       0,     0,     0,     0,   934,     0,     0,     0,     0,     0,
       0,     0,   914,   915,   916,   917,   918,   919,   920,   921,
     922,   923,   924,   925,   926,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,     0,     0,
       0,     0,     0,     0,   934,     0,     0,     0,     0,     0,
       0,     0,   935,     0,     0,     0,     0,     0,     0,     0,
     927,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   936,   937,   938,   939,   940,
     941,   942,   943,  2414,     0,     0,     0,  2786,     0,     0,
     927,     0,   935,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   927,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   936,   937,
     938,   939,   940,   941,   942,   943,     0,     0,     0,  1703,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     928,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     929,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     928,   936,   937,   938,   939,   940,   941,   942,   943,     0,
     929,     0,  2415,   928,     0,     0,     0,     0,     0,   930,
       0,     0,     0,   929,     0,     0,     0,     0,     0,   931,
     932,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   936,   937,   938,   939,   940,   941,   942,   943,   930,
     933,     0,  1565,     0,     0,     0,     0,     0,     0,   931,
     932,     0,   930,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   931,   932,     0,     0,     0,     0,     0,     0,
     933,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   933,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   934,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     914,   915,   916,   917,   918,   919,   920,   921,   922,   923,
     924,   925,   926,   934,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   934,     0,     0,     0,
       0,   935,     0,     0,   914,   915,   916,   917,   918,   919,
     920,   921,   922,   923,   924,   925,   926,   914,   915,   916,
     917,   918,   919,   920,   921,   922,   923,   924,   925,   926,
       0,   935,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   935,     0,     0,     0,   927,     0,
       0,   914,   915,   916,   917,   918,   919,   920,   921,   922,
     923,   924,   925,   926,     0,     0,     0,     0,   914,   915,
     916,   917,   918,   919,   920,   921,   922,   923,   924,   925,
     926,     0,   927,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   927,     0,     0,     0,     0,
       0,     0,     0,     0,   914,   915,   916,   917,   918,   919,
     920,   921,   922,   923,   924,   925,   926,     0,     0,     0,
     936,   937,   938,   939,   940,   941,   942,   943,   928,   927,
       0,  1566,     0,     0,     0,     0,     0,     0,   929,     0,
       0,     0,     0,     0,     0,     0,   927,     0,     0,     0,
     936,   937,   938,   939,   940,   941,   942,   943,     0,     0,
       0,  1579,   928,   936,   937,   938,   939,   940,   941,   942,
     943,     0,   929,     0,  1583,   928,     0,   930,     0,     0,
       0,     0,   927,     0,     0,   929,     0,   931,   932,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   933,   928,
       0,   930,     0,     0,     0,     0,     0,     0,     0,   929,
       0,   931,   932,     0,   930,     0,   928,     0,     0,     0,
       0,     0,     0,     0,   931,   932,   929,     0,     0,     0,
       0,     0,   933,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   933,     0,     0,   930,     0,
       0,     0,   928,     0,     0,     0,     0,     0,   931,   932,
       0,   934,   929,     0,     0,   930,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   931,   932,     0,     0,   933,
     914,   915,   916,   917,   918,   919,   920,   921,   922,   923,
     924,   925,   926,     0,     0,   934,   933,     0,     0,     0,
       0,   930,     0,     0,     0,     0,     0,     0,   934,   935,
       0,   931,   932,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   933,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   934,   935,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   935,     0,   927,   934,
       0,     0,     0,     0,     0,     0,     0,   914,   915,   916,
     917,   918,   919,   920,   921,   922,   923,   924,   925,   926,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     935,     0,     0,     0,     0,   934,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   935,     0,     0,
       0,     0,     0,     0,   914,   915,   916,   917,   918,   919,
     920,   921,   922,   923,   924,   925,   926,     0,   936,   937,
     938,   939,   940,   941,   942,   943,     0,     0,   928,  1587,
       0,     0,     0,   935,     0,   927,     0,     0,   929,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   936,   937,   938,   939,   940,   941,   942,   943,
       0,     0,     0,  1590,     0,   936,   937,   938,   939,   940,
     941,   942,   943,     0,     0,     0,  1601,   930,     0,     0,
       0,     0,   927,     0,     0,     0,     0,   931,   932,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   936,
     937,   938,   939,   940,   941,   942,   943,     0,   933,     0,
    1604,     0,     0,     0,     0,   928,   936,   937,   938,   939,
     940,   941,   942,   943,     0,   929,     0,  1630,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   914,
     915,   916,   917,   918,   919,   920,   921,   922,   923,   924,
     925,   926,   936,   937,   938,   939,   940,   941,   942,   943,
       0,     0,   928,  1632,   930,     0,     0,     0,     0,     0,
       0,   934,   929,     0,   931,   932,     0,     0,     0,   914,
     915,   916,   917,   918,   919,   920,   921,   922,   923,   924,
     925,   926,     0,     0,     0,   933,   914,   915,   916,   917,
     918,   919,   920,   921,   922,   923,   924,   925,   926,     0,
       0,   930,     0,     0,     0,     0,     0,   927,     0,   935,
       0,   931,   932,     0,     0,     0,   914,   915,   916,   917,
     918,   919,   920,   921,   922,   923,   924,   925,   926,     0,
       0,     0,   933,   914,   915,   916,   917,   918,   919,   920,
     921,   922,   923,   924,   925,   926,     0,   927,   934,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   927,     0,     0,   914,   915,   916,
     917,   918,   919,   920,   921,   922,   923,   924,   925,   926,
       0,     0,     0,     0,     0,     0,     0,   928,     0,     0,
       0,     0,     0,     0,   927,   934,   935,   929,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   927,     0,     0,   914,   915,   916,   917,   918,   919,
     920,   921,   922,   923,   924,   925,   926,   928,   936,   937,
     938,   939,   940,   941,   942,   943,   930,   929,     0,  1640,
       0,     0,     0,   935,   928,   927,   931,   932,     0,     0,
       0,     0,     0,     0,   929,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   933,     0,     0,
       0,     0,     0,     0,   928,     0,   930,     0,     0,     0,
       0,     0,     0,     0,   929,     0,   931,   932,     0,     0,
       0,   928,   927,   930,     0,     0,     0,     0,     0,     0,
       0,   929,     0,   931,   932,     0,     0,   933,     0,     0,
       0,     0,     0,     0,     0,   936,   937,   938,   939,   940,
     941,   942,   943,   930,   933,   928,  1641,     0,     0,     0,
     934,     0,     0,   931,   932,   929,     0,     0,     0,     0,
     930,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     931,   932,     0,     0,   933,     0,     0,     0,     0,     0,
       0,     0,   936,   937,   938,   939,   940,   941,   942,   943,
     934,   933,   928,  1642,   930,     0,     0,     0,   935,     0,
       0,     0,   929,     0,   931,   932,     0,   934,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   933,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   934,   935,     0,
       0,   930,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   931,   932,     0,   934,   935,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   933,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   935,     0,     0,   934,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   935,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   936,   937,   938,
     939,   940,   941,   942,   943,     0,     0,     0,  1652,     0,
       0,     0,     0,     0,     0,   934,   935,     0,     0,     0,
       0,     0,   914,   915,   916,   917,   918,   919,   920,   921,
     922,   923,   924,   925,   926,     0,     0,   936,   937,   938,
     939,   940,   941,   942,   943,     0,     0,     0,  1653,     0,
       0,     0,     0,     0,   936,   937,   938,   939,   940,   941,
     942,   943,     0,   935,     0,  1654,   914,   915,   916,   917,
     918,   919,   920,   921,   922,   923,   924,   925,   926,     0,
       0,     0,     0,     0,   936,   937,   938,   939,   940,   941,
     942,   943,     0,     0,     0,  1686,     0,     0,     0,     0,
     927,   936,   937,   938,   939,   940,   941,   942,   943,     0,
       0,     0,  1691,   914,   915,   916,   917,   918,   919,   920,
     921,   922,   923,   924,   925,   926,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   936,   937,   938,   939,   940,
     941,   942,   943,     0,   927,     0,  1712,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   914,   915,   916,
     917,   918,   919,   920,   921,   922,   923,   924,   925,   926,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     928,     0,   936,   937,   938,   939,   940,   941,   942,   943,
     929,   927,     0,  1715,     0,     0,     0,     0,     0,     0,
       0,   914,   915,   916,   917,   918,   919,   920,   921,   922,
     923,   924,   925,   926,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   928,     0,     0,     0,     0,   930,
       0,     0,     0,     0,   929,   927,     0,     0,     0,   931,
     932,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     933,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   928,     0,   930,     0,     0,     0,     0,     0,   927,
       0,   929,     0,   931,   932,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   933,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   928,     0,     0,     0,     0,
     930,     0,     0,   934,     0,   929,     0,     0,     0,     0,
     931,   932,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   933,     0,     0,     0,     0,     0,     0,     0,   928,
       0,     0,     0,     0,   930,     0,     0,   934,     0,   929,
       0,   935,     0,     0,   931,   932,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   933,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   930,     0,
       0,     0,     0,     0,   934,   935,     0,     0,   931,   932,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   933,
     914,   915,   916,   917,   918,   919,   920,   921,   922,   923,
     924,   925,   926,     0,     0,     0,     0,     0,   934,     0,
       0,     0,   935,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,     0,     0,
     936,   937,   938,   939,   940,   941,   942,   943,     0,     0,
       0,  2331,   934,     0,     0,     0,   935,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   927,   914,
     915,   916,   917,   918,   919,   920,   921,   922,   923,   924,
     925,   926,     0,     0,   936,   937,   938,   939,   940,   941,
     942,   943,     0,     0,     0,  2335,     0,     0,     0,     0,
     935,     0,     0,   927,     0,     0,   914,   915,   916,   917,
     918,   919,   920,   921,   922,   923,   924,   925,   926,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   936,   937,   938,   939,   940,   941,   942,   943,     0,
       0,     0,  2336,     0,     0,     0,     0,   927,   928,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   929,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   936,   937,   938,   939,   940,
     941,   942,   943,   928,   927,     0,  2348,     0,     0,     0,
       0,     0,     0,   929,     0,     0,     0,   930,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   931,   932,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   936,
     937,   938,   939,   940,   941,   942,   943,   928,   933,     0,
    2353,     0,   930,     0,     0,     0,     0,   929,     0,     0,
       0,     0,   931,   932,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   933,   928,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   929,     0,   930,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   931,   932,     0,     0,
       0,   934,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   933,     0,     0,
       0,     0,     0,   930,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   931,   932,     0,   934,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   935,
       0,     0,     0,     0,   933,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     934,     0,     0,     0,   935,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   914,   915,
     916,   917,   918,   919,   920,   921,   922,   923,   924,   925,
     926,     0,     0,     0,     0,     0,     0,   934,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   935,     0,
       0,     0,     0,   927,   914,   915,   916,   917,   918,   919,
     920,   921,   922,   923,   924,   925,   926,     0,     0,     0,
     914,   915,   916,   917,   918,   919,   920,   921,   922,   923,
     924,   925,   926,     0,     0,   935,     0,     0,   936,   937,
     938,   939,   940,   941,   942,   943,   927,     0,     0,  2356,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     914,   915,   916,   917,   918,   919,   920,   921,   922,   923,
     924,   925,   926,   936,   937,   938,   939,   940,   941,   942,
     943,     0,   927,   928,  2357,     0,     0,     0,     0,     0,
       0,     0,     0,   929,     0,     0,     0,     0,   927,     0,
       0,     0,   914,   915,   916,   917,   918,   919,   920,   921,
     922,   923,   924,   925,   926,     0,     0,   936,   937,   938,
     939,   940,   941,   942,   943,     0,   928,     0,  2367,     0,
       0,     0,   930,     0,     0,     0,   929,     0,   927,     0,
       0,     0,   931,   932,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   936,   937,   938,   939,   940,   941,
     942,   943,   928,   933,     0,  2368,     0,     0,     0,     0,
       0,     0,   929,     0,     0,   930,     0,     0,   928,     0,
     927,     0,     0,     0,     0,   931,   932,     0,   929,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   933,     0,     0,     0,
       0,   930,     0,     0,     0,     0,     0,     0,   928,     0,
       0,   931,   932,     0,     0,     0,   934,   930,   929,     0,
       0,     0,     0,     0,     0,     0,     0,   931,   932,     0,
       0,     0,   933,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   933,     0,
     928,     0,     0,     0,     0,     0,     0,   930,     0,   934,
     929,     0,     0,     0,   935,     0,     0,   931,   932,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   933,     0,
       0,     0,     0,     0,     0,   934,     0,     0,     0,   930,
       0,     0,     0,     0,     0,     0,     0,   935,     0,   931,
     932,   934,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     933,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   935,     0,     0,     0,     0,     0,     0,
       0,   934,     0,     0,     0,     0,     0,     0,     0,   935,
       0,     0,     0,     0,     0,     0,     0,     0,   914,   915,
     916,   917,   918,   919,   920,   921,   922,   923,   924,   925,
     926,     0,     0,   936,   937,   938,   939,   940,   941,   942,
     943,     0,     0,   934,  2371,     0,     0,     0,     0,   935,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     914,   915,   916,   917,   918,   919,   920,   921,   922,   923,
     924,   925,   926,     0,     0,     0,   936,   937,   938,   939,
     940,   941,   942,   943,     0,     0,     0,  2373,     0,     0,
       0,   935,     0,     0,     0,     0,   927,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   936,   937,   938,   939,   940,   941,   942,   943,
       0,     0,     0,  2376,     0,     0,     0,     0,   936,   937,
     938,   939,   940,   941,   942,   943,     0,     0,   927,  2377,
       0,     0,     0,     0,     0,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   936,   937,
     938,   939,   940,   941,   942,   943,   928,     0,     0,  2378,
       0,     0,     0,     0,     0,     0,   929,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   914,   915,   916,
     917,   918,   919,   920,   921,   922,   923,   924,   925,   926,
     936,   937,   938,   939,   940,   941,   942,   943,   928,     0,
       0,  2379,     0,   927,     0,   930,     0,     0,   929,     0,
       0,     0,     0,     0,     0,   931,   932,   914,   915,   916,
     917,   918,   919,   920,   921,   922,   923,   924,   925,   926,
       0,     0,     0,     0,     0,     0,   933,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   930,     0,     0,
       0,     0,     0,     0,     0,   927,     0,   931,   932,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   933,     0,
       0,     0,     0,   928,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   929,     0,   927,     0,     0,     0,   934,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   914,   915,
     916,   917,   918,   919,   920,   921,   922,   923,   924,   925,
     926,     0,   930,     0,     0,   928,     0,     0,     0,     0,
       0,   934,   931,   932,     0,   929,     0,   935,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   933,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   928,     0,     0,     0,     0,
       0,     0,     0,     0,   930,   929,     0,     0,     0,   935,
       0,     0,     0,     0,   931,   932,   927,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   933,     0,     0,     0,     0,
       0,     0,     0,     0,   930,     0,   934,     0,     0,     0,
       0,     0,     0,     0,   931,   932,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   933,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   936,   937,   938,   939,
     940,   941,   942,   943,   935,     0,   928,  2383,   934,     0,
       0,     0,     0,     0,     0,     0,   929,     0,     0,     0,
       0,     0,     0,     0,     0,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,   936,   937,
     938,   939,   940,   941,   942,   943,     0,     0,   934,  2385,
       0,     0,     0,     0,     0,   930,   935,     0,     0,     0,
       0,     0,     0,     0,     0,   931,   932,   914,   915,   916,
     917,   918,   919,   920,   921,   922,   923,   924,   925,   926,
       0,     0,     0,     0,     0,     0,   933,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   935,     0,     0,     0,
       0,     0,     0,   927,     0,     0,     0,   914,   915,   916,
     917,   918,   919,   920,   921,   922,   923,   924,   925,   926,
       0,     0,     0,   936,   937,   938,   939,   940,   941,   942,
     943,     0,     0,     0,  2386,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   927,     0,     0,     0,   934,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   936,   937,   938,   939,   940,
     941,   942,   943,   928,     0,   927,  2392,     0,     0,     0,
       0,     0,     0,   929,     0,     0,     0,   935,     0,     0,
       0,     0,   914,   915,   916,   917,   918,   919,   920,   921,
     922,   923,   924,   925,   926,   936,   937,   938,   939,   940,
     941,   942,   943,     0,     0,   928,  2393,     0,     0,     0,
       0,     0,   930,     0,     0,   929,     0,     0,     0,     0,
       0,     0,   931,   932,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   933,     0,   928,     0,     0,     0,     0,
       0,     0,     0,     0,   930,   929,     0,     0,     0,     0,
     927,     0,     0,     0,   931,   932,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   933,     0,     0,     0,     0,
       0,     0,     0,     0,   930,     0,   936,   937,   938,   939,
     940,   941,   942,   943,   931,   932,   934,  2394,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   933,     0,   914,   915,   916,
     917,   918,   919,   920,   921,   922,   923,   924,   925,   926,
     928,     0,     0,     0,     0,     0,     0,     0,   934,     0,
     929,     0,     0,     0,   935,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   934,   930,
       0,     0,     0,     0,     0,     0,   935,     0,     0,   931,
     932,     0,     0,     0,     0,   927,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     933,     0,   914,   915,   916,   917,   918,   919,   920,   921,
     922,   923,   924,   925,   926,     0,   935,     0,     0,     0,
       0,     0,     0,   927,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   936,   937,   938,   939,   940,   941,   942,
     943,     0,     0,   934,  2395,   928,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   929,     0,     0,     0,     0,
     927,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   936,   937,   938,   939,   940,
     941,   942,   943,   928,     0,     0,  2396,     0,     0,     0,
       0,   935,     0,   929,   930,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   931,   932,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   936,   937,   938,   939,   940,
     941,   942,   943,     0,     0,   933,  2397,     0,     0,     0,
       0,     0,   930,     0,     0,     0,     0,     0,     0,     0,
     928,     0,   931,   932,     0,     0,     0,     0,     0,     0,
     929,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   933,   914,   915,   916,   917,   918,   919,
     920,   921,   922,   923,   924,   925,   926,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   934,   930,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   931,
     932,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     936,   937,   938,   939,   940,   941,   942,   943,     0,     0,
     933,  2400,     0,     0,     0,     0,   934,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   935,     0,     0,     0,
       0,     0,   927,     0,     0,     0,     0,     0,     0,     0,
       0,   914,   915,   916,   917,   918,   919,   920,   921,   922,
     923,   924,   925,   926,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   935,     0,     0,     0,     0,     0,
       0,     0,     0,   934,     0,     0,     0,     0,     0,     0,
       0,   914,   915,   916,   917,   918,   919,   920,   921,   922,
     923,   924,   925,   926,     0,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,     0,     0,
       0,     0,   928,     0,     0,     0,     0,     0,     0,   927,
       0,   935,   929,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   936,   937,   938,   939,   940,
     941,   942,   943,     0,     0,     0,  2410,     0,     0,   927,
       0,   930,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   931,   932,   927,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   936,   937,   938,   939,   940,   941,   942,
     943,     0,   933,     0,  2411,     0,     0,     0,     0,   928,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   929,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   928,
     936,   937,   938,   939,   940,   941,   942,   943,   930,   929,
       0,  2413,     0,   928,     0,   934,     0,     0,   931,   932,
       0,     0,     0,   929,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   933,
       0,     0,     0,     0,     0,     0,     0,     0,   930,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   931,   932,
       0,     0,   930,   935,     0,     0,     0,     0,     0,     0,
       0,     0,   931,   932,     0,     0,     0,     0,     0,   933,
     914,   915,   916,   917,   918,   919,   920,   921,   922,   923,
     924,   925,   926,   933,     0,     0,     0,     0,     0,     0,
       0,     0,   934,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   914,   915,   916,   917,   918,   919,
     920,   921,   922,   923,   924,   925,   926,     0,     0,     0,
       0,     0,   934,     0,     0,     0,     0,     0,     0,     0,
     935,     0,     0,     0,     0,     0,   934,     0,   927,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   936,   937,   938,   939,   940,   941,   942,   943,
     935,     0,     0,  2419,     0,     0,     0,     0,     0,     0,
       0,     0,   927,     0,   935,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   928,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   929,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   936,
     937,   938,   939,   940,   941,   942,   943,     0,     0,     0,
    2421,     0,   928,     0,     0,     0,     0,   930,     0,     0,
       0,     0,   929,   927,     0,     0,     0,   931,   932,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   936,
     937,   938,   939,   940,   941,   942,   943,     0,   933,     0,
    2423,     0,     0,   936,   937,   938,   939,   940,   941,   942,
     943,   930,     0,     0,  2425,     0,     0,     0,     0,     0,
       0,   931,   932,     0,     0,     0,     0,     0,     0,   914,
     915,   916,   917,   918,   919,   920,   921,   922,   923,   924,
     925,   926,   933,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   928,     0,     0,     0,     0,     0,     0,
       0,   934,     0,   929,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     914,   915,   916,   917,   918,   919,   920,   921,   922,   923,
     924,   925,   926,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   930,     0,     0,   934,     0,   927,     0,   935,
       0,     0,   931,   932,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   933,   914,   915,   916,   917,   918,   919,
     920,   921,   922,   923,   924,   925,   926,     0,     0,     0,
       0,     0,     0,   935,     0,     0,     0,     0,   927,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   928,     0,     0,
       0,     0,     0,     0,     0,     0,   934,   929,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   927,     0,     0,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,   936,   937,
     938,   939,   940,   941,   942,   943,   930,     0,   928,  2427,
       0,     0,     0,     0,   935,     0,   931,   932,   929,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   933,     0,     0,
       0,     0,   936,   937,   938,   939,   940,   941,   942,   943,
       0,     0,     0,  2428,     0,     0,     0,   930,     0,     0,
       0,     0,   928,   927,     0,     0,     0,   931,   932,     0,
       0,     0,   929,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   933,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     934,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   930,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   931,   932,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   936,   937,   938,   939,   940,   941,   942,
     943,     0,   933,   928,  2429,     0,     0,     0,   935,     0,
       0,   934,     0,   929,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   914,   915,   916,   917,   918,   919,   920,
     921,   922,   923,   924,   925,   926,     0,     0,     0,     0,
       0,     0,   930,     0,     0,     0,     0,     0,     0,   935,
       0,     0,   931,   932,     0,   934,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   933,   914,   915,   916,   917,   918,   919,
     920,   921,   922,   923,   924,   925,   926,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   927,     0,   935,   914,   915,   916,   917,   918,   919,
     920,   921,   922,   923,   924,   925,   926,   936,   937,   938,
     939,   940,   941,   942,   943,     0,     0,     0,  2640,     0,
       0,     0,     0,     0,     0,     0,   934,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   927,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   936,   937,
     938,   939,   940,   941,   942,   943,     0,     0,     0,  2641,
       0,   928,   927,     0,   935,     0,     0,     0,     0,     0,
       0,   929,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   914,   915,   916,   917,   918,   919,   920,   921,
     922,   923,   924,   925,   926,     0,     0,     0,     0,     0,
       0,     0,   936,   937,   938,   939,   940,   941,   942,   943,
     930,     0,   928,  2642,     0,     0,     0,     0,     0,     0,
     931,   932,   929,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   933,   928,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   929,     0,     0,     0,     0,     0,     0,     0,
     927,   930,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   931,   932,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   936,   937,   938,   939,   940,   941,   942,
     943,   930,   933,     0,  2792,     0,     0,     0,     0,     0,
       0,   931,   932,     0,   934,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   933,   914,   915,   916,   917,   918,   919,   920,
     921,   922,   923,   924,   925,   926,     0,     0,     0,     0,
     928,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     929,     0,   935,     0,     0,   934,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   934,     0,     0,     0,   930,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   931,
     932,   927,     0,   935,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     933,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   935,     0,     0,     0,     0,     0,     0,
       0,   914,   915,   916,   917,   918,   919,   920,   921,   922,
     923,   924,   925,   926,     0,     0,     0,   914,   915,   916,
     917,   918,   919,   920,   921,   922,   923,   924,   925,   926,
       0,   936,   937,   938,   939,   940,   941,   942,   943,     0,
       0,   928,  2794,   934,     0,     0,     0,     0,     0,     0,
       0,   929,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   914,   915,   916,   917,   918,   919,   920,   921,
     922,   923,   924,   925,   926,     0,     0,     0,     0,   927,
       0,     0,   936,   937,   938,   939,   940,   941,   942,   943,
     930,   935,     0,  2800,     0,   927,     0,     0,     0,     0,
     931,   932,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   936,   937,   938,   939,   940,   941,   942,   943,
       0,   933,     0,  2801,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     927,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   928,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   929,
       0,     0,     0,     0,     0,   928,     0,     0,     0,     0,
       0,     0,     0,     0,   934,   929,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   930,     0,
     936,   937,   938,   939,   940,   941,   942,   943,   931,   932,
     928,  2802,     0,     0,   930,     0,     0,     0,     0,     0,
     929,     0,   935,     0,   931,   932,     0,     0,     0,   933,
       0,   914,   915,   916,   917,   918,   919,   920,   921,   922,
     923,   924,   925,   926,     0,   933,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   930,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   931,
     932,     0,     0,     0,     0,     0,   914,   915,   916,   917,
     918,   919,   920,   921,   922,   923,   924,   925,   926,     0,
     933,     0,   934,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   934,   927,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     935,   936,   937,   938,   939,   940,   941,   942,   943,     0,
       0,     0,  2804,   934,   927,     0,   935,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  2539,  2540,  2541,  2542,     0,     0,   928,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   929,
       0,   935,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  2543,
       0,     0,     0,     0,   928,     0,     0,     0,   930,     0,
       0,     0,     0,     0,   929,     0,     0,     0,   931,   932,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   936,
     937,   938,   939,   940,   941,   942,   943,     0,     0,   933,
    2806,     0,  2544,     0,     0,   936,   937,   938,   939,   940,
     941,   942,   943,   930,     0,     0,  2807,     0,     0,     0,
       0,     0,     0,   931,   932,     0,     0,     0,  2545,     0,
       0,     0,  2546,     0,  2547,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   933,     0,     0,     0,     0,     0,
     936,   937,   938,   939,   940,   941,   942,   943,     0,     0,
       0,  2808,   934,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  2548,
       0,  2549,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   934,     0,     0,
     935,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  2550,  2551,  2552,     0,     0,  2553,
    2554,  2555,  2556,  2557,     0,  2558,  2559,  2560,     0,  2561,
    2562,  2563,  2564,  2565,  2566,   935,     0,     0,     0,  2567,
       0,  2568,     0,  2569,  2570,  2571,  2572,  2573,  2574,     0,
       0,  2575,  2576,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  2577,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  2578,   936,
     937,   938,   939,   940,   941,   942,   943,     0,     0,     0,
    2991,     0,  2579,  2580,  2581,     0,     0,     0,     0,     0,
    2582,     0,  2583,     0,     0,     0,     0,     0,     0,     0,
       0,     0,    99,   100,   101,   102,   103,     0,     0,     0,
     104,     0,     0,     0,   936,   937,   938,   939,   940,   941,
     942,   943,  2584,   105,     0,  3078,   106,   107,   108,   109,
       0,   110,   111,   112,   113,     0,     0,     0,   114,     0,
       0,   115,     0,   116,   117,   118,   119,   120,     0,   121,
       0,     0,   122,     0,   123,     0,     0,   124,     0,     0,
     125,   126,   127,   128,   129,   130,     0,     0,   131,   132,
     133,   134,     0,     0,   135,     0,   136,   137,   138,     0,
     139,     0,   140,   141,     0,     0,     0,     0,   142,   143,
     144,   145,     0,   146,   147,   148,     0,   149,     0,   150,
     151,     0,     0,   152,   153,     0,   154,     0,   155,     0,
       0,   156,     0,     0,     0,     0,   157,     0,     0,   158,
       0,     0,   159,   160,   161,     0,   162,   163,   164,     0,
       0,   165,   166,     0,   167,     0,   168,   169,   170,     0,
       0,     0,     0,   171,     0,   172,     0,   173,     0,     0,
       0,   174,     0,     0,   175,   176,   177,     0,   178,     0,
     179,     0,     0,   180,     0,     0,   181,     0,     0,     0,
       0,     0,   182,   183,     0,     0,     0,   184,     0,   185,
       0,     0,     0,   186,   187,   188,   189,   190,   191,   192,
     193,   194,   195,   196,   197,   198,   199,   200,   201,     0,
     202,   203,   204,   205,   206,   207,   208,   209,     0,   210,
     211,   212,     0,   213,     0,   214,     0,     0,   215,     0,
     216,   217,     0,     0,     0,     0,     0,     0,     0,   218,
     219,   220,     0,     0,   221,   222,   223,   224,   225,   226,
     227,   228,     0,     0,     0,     0,   229,     0,   230,     0,
     231,   232,     0,     0,   233,   234,   235,   236,     0,     0,
     237,   238,   239,   240,   241,     0,     0,     0,   242,   243,
       0,   244,     0,     0,   245,   246,     0,     0,     0,     0,
     247,     0,   248,   249,     0,     0,     0,     0,   250,     0,
     251,   252,     0,   253,     0,     0,     0,   254,     0,     0,
     255,     0,   256,     0,     0,     0,     0,   257,     0,   258,
     259,   260,   261,     0,     0,     0,   262,     0,   263,   264,
       0,     0,   265,   266,     0,   267,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   268,   269,   270,     0,   271,
       0,   272,   273,   274,   275,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   276,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   277,     0,     0,     0,     0,     0,     0,
     278,   279,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   280,     0,     0,   281,     0,     0,     0,   282,
     283,     0,   284,     0,     0,     0,     0,   285,     0,     0,
       0,   286,     0,     0,   287,   288,   289,   290,     0,     0,
       0,   291,   292,   293,     0,   294,   295,     0,     0,   296,
       0,   297,     0,     0,     0,     0,     0,     0,   298,     0,
     299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   301,     0,     0,     0,     0,     0,   302,
       0,   303,     0,     0,   304,     0,     0,   305,     0,   306,
       0,   307,   308,   309,    99,   100,   101,   102,   103,  1532,
       0,     0,   104,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   105,     0,     0,   106,   107,
     108,   109,     0,   110,   111,   112,   113,     0,     0,     0,
     114,     0,     0,   115,     0,   116,   117,   118,   119,   120,
       0,   121,     0,     0,   122,     0,   123,     0,     0,   124,
       0,     0,   125,   126,   127,   128,   129,   130,     0,     0,
     131,   132,   133,   134,     0,     0,   135,     0,   136,   137,
     138,     0,   139,     0,   140,   141,     0,     0,     0,     0,
     142,   143,   144,   145,     0,   146,   147,   148,     0,   149,
       0,   150,   151,     0,     0,   152,   153,     0,   154,     0,
     155,     0,     0,   156,     0,     0,     0,     0,   157,     0,
       0,   158,     0,     0,   159,   160,   161,     0,   162,   163,
     164,     0,     0,   165,   166,     0,   167,     0,   168,   169,
     170,     0,     0,     0,     0,   171,     0,   172,     0,   173,
       0,     0,     0,   174,     0,     0,   175,   176,   177,     0,
     178,     0,   179,     0,     0,   180,     0,     0,   181,     0,
       0,     0,     0,     0,   182,   183,     0,     0,     0,   184,
       0,   185,     0,     0,     0,   186,   187,   188,   189,   190,
     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
     201,     0,   202,   203,   204,   205,   206,   207,   208,   209,
       0,   210,   211,   212,     0,   213,     0,   214,     0,     0,
     215,     0,   216,   217,     0,     0,     0,     0,     0,     0,
       0,   218,   219,   220,     0,     0,   221,   222,   223,   224,
     225,   226,   227,   228,     0,     0,     0,     0,   229,     0,
     230,     0,   231,   232,     0,     0,   233,   234,   235,   236,
       0,     0,   237,   238,   239,   240,   241,     0,     0,     0,
     242,   243,     0,   244,     0,     0,   245,   246,     0,     0,
       0,     0,   247,     0,   248,   249,     0,     0,     0,     0,
     250,     0,   251,   252,     0,   253,     0,     0,     0,   254,
       0,     0,   255,     0,   256,     0,     0,     0,     0,   257,
       0,   258,   259,   260,   261,     0,     0,     0,   262,     0,
     263,   264,     0,     0,   265,   266,     0,   267,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   268,   269,   270,
       0,   271,     0,   272,   273,   274,   275,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   276,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   277,     0,     0,     0,     0,
       0,     0,   278,   279,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   280,     0,     0,   281,     0,     0,
       0,   282,   283,     0,   284,     0,     0,     0,     0,   285,
       0,     0,     0,   286,     0,     0,   287,   288,   289,   290,
       0,     0,     0,   291,   292,   293,     0,   294,   295,     0,
       0,   296,     0,   297,     0,     0,     0,     0,     0,     0,
     298,     0,   299,   300,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   301,     0,     0,     0,     0,
       0,   302,     0,   303,     0,     0,   304,     0,     0,   305,
       0,   306,     0,   307,   308,   309,    99,   100,   101,   102,
     103,  2164,     0,     0,   104,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   105,     0,     0,
     106,   107,   108,   109,     0,   110,   111,   112,   113,     0,
       0,     0,   114,     0,     0,   115,     0,   116,   117,   118,
     119,   120,     0,   121,     0,     0,   122,     0,   123,     0,
       0,   124,     0,     0,   125,   126,   127,   128,   129,   130,
       0,     0,   131,   132,   133,   134,     0,     0,   135,     0,
     136,   137,   138,     0,   139,     0,   140,   141,     0,     0,
       0,     0,   142,   143,   144,   145,     0,   146,   147,   148,
       0,   149,     0,   150,   151,     0,     0,   152,   153,     0,
     154,     0,   155,     0,     0,   156,     0,     0,     0,     0,
     157,     0,     0,   158,     0,     0,   159,   160,   161,     0,
     162,   163,   164,     0,     0,   165,   166,     0,   167,     0,
     168,   169,   170,     0,     0,     0,     0,   171,     0,   172,
       0,   173,     0,     0,     0,   174,     0,     0,   175,   176,
     177,     0,   178,     0,   179,     0,     0,   180,     0,     0,
     181,     0,     0,     0,     0,     0,   182,   183,     0,     0,
       0,   184,     0,   185,     0,     0,     0,   186,   187,   188,
     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
     199,   200,   201,     0,   202,   203,   204,   205,   206,   207,
     208,   209,     0,   210,   211,   212,     0,   213,     0,   214,
       0,     0,   215,     0,   216,   217,     0,     0,     0,     0,
       0,     0,     0,   218,   219,   220,     0,     0,   221,   222,
     223,   224,   225,   226,   227,   228,     0,     0,     0,     0,
     229,     0,   230,     0,   231,   232,     0,     0,   233,   234,
     235,   236,     0,     0,   237,   238,   239,   240,   241,     0,
       0,     0,   242,   243,     0,   244,     0,     0,   245,   246,
       0,     0,     0,     0,   247,     0,   248,   249,     0,     0,
       0,     0,   250,     0,   251,   252,     0,   253,     0,     0,
       0,   254,     0,     0,   255,     0,   256,     0,     0,     0,
       0,   257,     0,   258,   259,   260,   261,     0,     0,     0,
     262,     0,   263,   264,     0,     0,   265,   266,     0,   267,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   268,
     269,   270,     0,   271,     0,   272,   273,   274,   275,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   276,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   277,     0,     0,
       0,     0,     0,     0,   278,   279,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   280,     0,     0,   281,
       0,     0,     0,   282,   283,     0,   284,     0,     0,     0,
       0,   285,     0,     0,     0,   286,     0,     0,   287,   288,
     289,   290,     0,     0,     0,   291,   292,   293,     0,   294,
     295,     0,     0,   296,     0,   297,     0,     0,     0,     0,
       0,     0,   298,     0,   299,   300,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   301,     0,     0,
       0,     0,     0,   302,     0,   303,     0,     0,   304,     0,
       0,   305,     0,   306,     0,   307,   308,   309,    99,   100,
     101,   102,   103,  2202,     0,     0,   104,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   105,
       0,     0,   106,   107,   108,   109,     0,   110,   111,   112,
     113,     0,     0,     0,   114,     0,     0,   115,     0,   116,
     117,   118,   119,   120,     0,   121,     0,     0,   122,     0,
     123,     0,     0,   124,     0,     0,   125,   126,   127,   128,
     129,   130,     0,     0,   131,   132,   133,   134,     0,     0,
     135,     0,   136,   137,   138,     0,   139,     0,   140,   141,
       0,     0,     0,     0,   142,   143,   144,   145,     0,   146,
     147,   148,     0,   149,     0,   150,   151,     0,     0,   152,
     153,     0,   154,     0,   155,     0,     0,   156,     0,     0,
       0,     0,   157,     0,     0,   158,     0,     0,   159,   160,
     161,     0,   162,   163,   164,     0,     0,   165,   166,     0,
     167,     0,   168,   169,   170,     0,     0,     0,     0,   171,
       0,   172,     0,   173,     0,     0,     0,   174,     0,     0,
     175,   176,   177,     0,   178,     0,   179,     0,     0,   180,
       0,     0,   181,     0,     0,     0,     0,     0,   182,   183,
       0,     0,     0,   184,     0,   185,     0,     0,     0,   186,
     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
     197,   198,   199,   200,   201,     0,   202,   203,   204,   205,
     206,   207,   208,   209,     0,   210,   211,   212,     0,   213,
       0,   214,     0,     0,   215,     0,   216,   217,     0,     0,
       0,     0,     0,     0,     0,   218,   219,   220,     0,     0,
     221,   222,   223,   224,   225,   226,   227,   228,     0,     0,
       0,     0,   229,     0,   230,     0,   231,   232,     0,     0,
     233,   234,   235,   236,     0,     0,   237,   238,   239,   240,
     241,     0,     0,     0,   242,   243,     0,   244,     0,     0,
     245,   246,     0,     0,     0,     0,   247,     0,   248,   249,
       0,     0,     0,     0,   250,     0,   251,   252,     0,   253,
       0,     0,     0,   254,     0,     0,   255,     0,   256,     0,
       0,     0,     0,   257,     0,   258,   259,   260,   261,     0,
       0,     0,   262,     0,   263,   264,     0,     0,   265,   266,
       0,   267,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   268,   269,   270,     0,   271,     0,   272,   273,   274,
     275,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     276,   914,   915,   916,   917,   918,   919,   920,   921,   922,
     923,   924,   925,   926,     0,     0,     0,     0,     0,   277,
       0,     0,     0,     0,     0,     0,   278,   279,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   280,     0,
       0,   281,     0,     0,     0,   282,   283,     0,   284,     0,
       0,     0,     0,   285,     0,     0,     0,   286,     0,     0,
     287,   288,   289,   290,     0,     0,     0,   291,   292,   293,
       0,   294,   295,     0,     0,   296,     0,   297,     0,   927,
       0,     0,     0,     0,   298,     0,   299,   300,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
       0,     0,     0,     0,     0,   302,     0,   303,     0,     0,
     304,     0,     0,   305,     0,   306,     0,   307,   308,   309,
       0,     0,     0,     0,     0,  2658,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   914,   915,   916,   917,   918,
     919,   920,   921,   922,   923,   924,   925,   926,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   928,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   929,
       0,     0,     0,     0,     0,     0,     0,   914,   915,   916,
     917,   918,   919,   920,   921,   922,   923,   924,   925,   926,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   930,     0,
       0,     0,     0,   927,  1564,     0,     0,     0,   931,   932,
     914,   915,   916,   917,   918,   919,   920,   921,   922,   923,
     924,   925,   926,     0,     0,     0,     0,     0,     0,   933,
       0,     0,   914,   915,   916,   917,   918,   919,   920,   921,
     922,   923,   924,   925,   926,   927,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   914,   915,   916,   917,
     918,   919,   920,   921,   922,   923,   924,   925,   926,     0,
       0,     0,     0,   928,     0,     0,     0,     0,   927,     0,
       0,     0,   934,   929,     0,     0,     0,     0,     0,     0,
       0,     0,  2090,     0,     0,     0,     0,     0,     0,     0,
     927,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   928,     0,     0,     0,     0,
       0,     0,   930,     0,     0,   929,     0,     0,     0,     0,
     935,     0,   931,   932,   927,  2092,     0,     0,     0,     0,
       0,     0,     0,   945,   946,   947,   948,   949,     0,     0,
       0,     0,     0,   933,     0,     0,     0,     0,   928,     0,
       0,     0,     0,     0,   930,     0,     0,     0,   929,     0,
     950,   951,   952,   953,   931,   932,     0,     0,     0,     0,
    2349,     0,     0,     0,     0,   954,   955,   956,   957,     0,
     929,   958,     0,     0,     0,   933,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   930,     0,     0,
       0,     0,   959,   960,   928,     0,   934,   931,   932,     0,
       0,     0,     0,     0,   929,     0,     0,     0,     0,   930,
       0,     0,     0,     0,   961,   962,     0,     0,   933,   931,
     932,     0,     0,     0,     0,     0,     0,     0,     0,   936,
     937,   938,   939,   940,   941,   942,   943,     0,   934,     0,
     933,     0,     0,   930,   935,     0,     0,     0,     0,     0,
       0,     0,     0,   931,   932,     0,     0,     0,     0,     0,
       0,   914,   915,   916,   917,   918,   919,   920,   921,   922,
     923,   924,   925,   926,   933,     0,     0,     0,     0,     0,
       0,   934,     0,     0,     0,     0,   935,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  2350,
       0,     0,     0,   934,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   935,
       0,     0,     0,     0,     0,     0,     0,   934,     0,   927,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   935,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   936,   937,   938,   939,   940,   941,   942,
     943,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   935,     0,     0,   914,   915,
     916,   917,   918,   919,   920,   921,   922,   923,   924,   925,
     926,     0,     0,     0,     0,   936,   937,   938,   939,   940,
     941,   942,   943,     0,     0,     0,     0,     0,     0,   928,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   929,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   936,   937,
     938,   939,   940,   941,   942,   943,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   927,     0,   930,     0,
     936,   937,   938,   939,   940,   941,   942,   943,   931,   932,
    1661,   915,  1662,  1663,   918,   919,   920,   921,   922,  1664,
    1665,  1666,  1667,     0,  2360,     0,     0,     0,     0,   933,
       0,     0,     0,     0,   936,   937,   938,   939,   940,   941,
     942,   943,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1739,   915,  1740,  1741,   918,   919,   920,
     921,   922,  1742,  1743,  1744,  1745,   928,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   929,     0,  1668,     0,
       0,     0,   934,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1739,   915,  1740,  1741,   918,   919,   920,   921,   922,  1742,
    1743,  1744,  1745,     0,     0,   930,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   931,   932,     0,     0,     0,
     935,  1746,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   933,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1669,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1670,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  2106,     0,
       0,     0,     0,     0,     0,     0,     0,  1739,   915,  1740,
    1741,   918,   919,   920,   921,   922,  1742,  1743,  1744,  1745,
       0,     0,     0,     0,     0,     0,     0,  1671,     0,   934,
       0,  1747,     0,     0,     0,     0,     0,  1672,  1673,     0,
       0,  1748,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1674,  2793,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   936,
     937,   938,   939,   940,   941,   942,   943,   935,  1747,     0,
    1749,     0,     0,     0,     0,  2405,     0,     0,  1748,     0,
    1750,  1751,     0,     0,     0,  1739,   915,  1740,  1741,   918,
     919,   920,   921,   922,  1742,  1743,  1744,  1745,     0,     0,
       0,  1752,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1675,     0,     0,     0,     0,     0,  1749,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1750,  1751,     0,
       0,     0,  1739,   915,  1740,  1741,   918,   919,   920,   921,
     922,  1742,  1743,  1744,  1745,     0,     0,     0,  1752,     0,
       0,     0,     0,     0,     0,  1747,     0,     0,     0,  1676,
       0,     0,     0,  2442,  1753,  1748,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   936,   937,   938,   939,
     940,   941,   942,   943,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1749,     0,     0,     0,     0,     0,
    2633,  1753,  1754,     0,  1750,  1751,     0,     0,     0,  1739,
     915,  1740,  1741,   918,   919,   920,   921,   922,  1742,  1743,
    1744,  1745,     0,     0,     0,  1752,     0,     0,     0,     0,
       0,     0,     0,  1747,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1748,     0,     0,     0,     0,     0,  1754,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1677,  1678,
    1679,  1680,  1681,  1682,  1683,  1684,     0,     0,     0,     0,
    1747,     0,  1749,     0,     0,     0,     0,  2647,  1753,     0,
    1748,     0,  1750,  1751,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1752,     0,     0,     0,     0,     0,     0,
       0,  1755,  1756,  1757,  1758,  1759,  1760,  1761,  1762,  1749,
       0,     0,     0,     0,     0,     0,  1754,     0,     0,  1750,
    1751,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1752,     0,     0,     0,     0,     0,     0,  1747,  1755,  1756,
    1757,  1758,  1759,  1760,  1761,  1762,  1753,  1748,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1749,     0,     0,     0,
       0,     0,     0,  1753,  1754,     0,  1750,  1751,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1752,     0,     0,
       0,     0,     0,     0,     0,  1755,  1756,  1757,  1758,  1759,
    1760,  1761,  1762,     0,     0,     0,     0,     0,     0,     0,
       0,  1754,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1753,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1755,  1756,  1757,  1758,  1759,  1760,  1761,
    1762,     0,     0,     0,     0,     0,     0,     0,  1754,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1755,  1756,  1757,  1758,  1759,  1760,  1761,  1762,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,    99,   100,   101,   102,   103,     0,
       0,     0,   104,     0,     0,     0,     0,  1755,  1756,  1757,
    1758,  1759,  1760,  1761,  1762,   105,     0,     0,   106,   107,
     108,   109,     0,   110,   111,   112,   113,     0,     0,     0,
     114,     0,     0,   115,     0,   116,   117,   118,   119,   120,
       0,   121,     0,     0,   122,     0,   123,     0,     0,   124,
       0,     0,   125,   126,   127,   128,   129,   130,     0,     0,
     131,   132,   133,   134,     0,     0,   135,     0,   136,   137,
     138,     0,   139,     0,   140,   141,     0,     0,     0,     0,
     142,   143,   144,   145,  1854,   146,   147,   148,     0,   149,
       0,   150,   151,     0,     0,   152,   153,     0,   154,     0,
     155,     0,     0,   156,     0,     0,     0,     0,   157,  1855,
       0,   158,     0,     0,   159,   160,   161,     0,   162,   163,
     164,     0,     0,   165,   166,     0,   167,     0,   168,   169,
     170,     0,     0,     0,     0,   171,     0,   172,     0,   173,
       0,     0,     0,   174,     0,     0,   175,   176,   177,     0,
     178,     0,   179,     0,     0,   180,     0,     0,   181,     0,
       0,     0,     0,     0,   182,   183,   345,     0,     0,   184,
       0,   185,     0,     0,     0,   186,   187,   188,   189,   190,
     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
     201,     0,   202,   203,   204,   205,   206,   207,   208,   209,
       0,   210,   211,   212,     0,   213,     0,   214,     0,     0,
     215,     0,   216,   217,     0,     0,     0,     0,     0,     0,
       0,   218,   219,   220,     0,     0,   221,   222,   223,   224,
     225,   226,   227,   228,     0,     0,     0,     0,   229,     0,
     230,     0,   231,   232,     0,     0,   233,   234,   235,   236,
       0,     0,   237,   238,   239,   240,   241,     0,     0,     0,
     242,   243,     0,   244,     0,     0,   245,   246,     0,   346,
       0,     0,   247,     0,   248,   249,     0,     0,     0,     0,
     250,     0,   251,   252,     0,   253,     0,     0,     0,   254,
       0,     0,   255,     0,   256,     0,     0,     0,     0,   257,
       0,   258,   259,   260,   261,     0,     0,     0,   262,     0,
     263,   264,     0,     0,   265,   266,     0,   267,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   268,   269,   270,
       0,   271,     0,   272,   273,   274,   275,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   276,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   277,     0,     0,     0,     0,
       0,     0,   278,   279,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   280,     0,     0,   281,     0,     0,
       0,   282,   283,     0,   284,     0,     0,     0,     0,   285,
       0,     0,     0,   286,     0,     0,   287,   288,   289,   290,
       0,     0,     0,   291,   292,   293,     0,   294,   295,     0,
       0,   296,     0,   297,     0,     0,     0,     0,     0,     0,
     298,     0,   299,   300,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   301,    99,   100,   101,   102,
     103,   302,     0,   303,   104,     0,   304,     0,     0,   305,
       0,   306,     0,   307,   308,   309,     0,   105,     0,     0,
     106,   107,   108,   109,     0,   110,   111,   112,   113,     0,
       0,     0,   114,     0,     0,   115,     0,   116,   117,   118,
     119,   120,     0,   121,     0,     0,   122,     0,   123,     0,
       0,   124,     0,     0,   125,   126,   127,   128,   129,   130,
       0,     0,   131,   132,   133,   134,     0,     0,   135,     0,
     136,   137,   138,     0,   139,     0,   140,   141,     0,     0,
       0,     0,   142,   143,   144,   145,  1863,   146,   147,   148,
       0,   149,     0,   150,   151,     0,     0,   152,   153,     0,
     154,     0,   155,     0,     0,   156,     0,     0,     0,     0,
     157,  1864,     0,   158,     0,     0,   159,   160,   161,     0,
     162,   163,   164,     0,     0,   165,   166,     0,   167,     0,
     168,   169,   170,     0,     0,     0,     0,   171,     0,   172,
       0,   173,     0,     0,     0,   174,     0,     0,   175,   176,
     177,     0,   178,     0,   179,     0,     0,   180,     0,     0,
     181,     0,     0,     0,     0,     0,   182,   183,   345,     0,
       0,   184,     0,   185,     0,     0,     0,   186,   187,   188,
     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
     199,   200,   201,     0,   202,   203,   204,   205,   206,   207,
     208,   209,     0,   210,   211,   212,     0,   213,     0,   214,
       0,     0,   215,     0,   216,   217,     0,     0,     0,     0,
       0,     0,     0,   218,   219,   220,     0,     0,   221,   222,
     223,   224,   225,   226,   227,   228,     0,     0,     0,     0,
     229,     0,   230,     0,   231,   232,     0,     0,   233,   234,
     235,   236,     0,     0,   237,   238,   239,   240,   241,     0,
       0,     0,   242,   243,     0,   244,     0,     0,   245,   246,
       0,   346,     0,     0,   247,     0,   248,   249,     0,     0,
       0,     0,   250,     0,   251,   252,     0,   253,     0,     0,
       0,   254,     0,     0,   255,     0,   256,     0,     0,     0,
       0,   257,     0,   258,   259,   260,   261,     0,     0,     0,
     262,     0,   263,   264,     0,     0,   265,   266,     0,   267,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   268,
     269,   270,     0,   271,     0,   272,   273,   274,   275,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   276,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   277,     0,     0,
       0,     0,     0,     0,   278,   279,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   280,     0,     0,   281,
       0,     0,     0,   282,   283,     0,   284,     0,     0,     0,
       0,   285,     0,     0,     0,   286,     0,     0,   287,   288,
     289,   290,     0,     0,     0,   291,   292,   293,     0,   294,
     295,     0,     0,   296,     0,   297,     0,     0,     0,     0,
       0,     0,   298,     0,   299,   300,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   301,    99,   100,
     101,   102,   103,   302,     0,   303,   104,     0,   304,     0,
       0,   305,     0,   306,     0,   307,   308,   309,     0,   105,
       0,     0,   106,   107,   108,   109,     0,   110,   111,   112,
     113,     0,     0,     0,   114,     0,     0,   115,     0,   116,
     117,   118,   119,   120,     0,   121,     0,     0,   122,     0,
     123,     0,     0,   124,     0,     0,   125,   126,   127,   128,
     129,   130,     0,     0,   131,   132,   133,   134,     0,     0,
     135,     0,   136,   137,   138,     0,   139,     0,   140,   141,
       0,     0,     0,     0,   142,   143,   144,   145,     0,   146,
     147,   148,     0,   149,     0,   150,   151,     0,     0,   152,
     153,     0,   154,     0,   155,     0,     0,   156,     0,     0,
     747,     0,   157,     0,     0,   158,     0,     0,   159,   160,
     161,     0,   162,   163,   164,     0,     0,   165,   166,     0,
     167,     0,   168,   169,   170,     0,     0,     0,     0,   171,
       0,   172,     0,   173,     0,     0,     0,   174,     0,     0,
     175,   176,   177,     0,   178,     0,   179,     0,     0,   180,
       0,     0,   181,     0,     0,     0,     0,     0,   182,   183,
     345,     0,     0,   184,     0,   185,     0,     0,     0,   186,
     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
     197,   198,   199,   200,   201,     0,   202,   203,   204,   205,
     206,   207,   208,   209,     0,   210,   211,   212,     0,   213,
       0,   214,     0,     0,   215,     0,   216,   217,     0,     0,
       0,     0,     0,     0,     0,   218,   219,   220,     0,     0,
     221,   222,   223,   224,   225,   226,   227,   228,     0,     0,
       0,     0,   229,     0,   230,     0,   231,   232,     0,     0,
     233,   234,   235,   236,     0,     0,   237,   238,   239,   240,
     241,     0,     0,     0,   242,   243,     0,   244,     0,     0,
     245,   246,     0,   346,     0,     0,   247,     0,   248,   249,
       0,     0,     0,     0,   250,     0,   251,   252,     0,   253,
       0,     0,     0,   254,     0,     0,   255,     0,   256,     0,
       0,     0,     0,   257,     0,   258,   259,   260,   261,     0,
       0,     0,   262,     0,   263,   264,     0,     0,   265,   266,
       0,   267,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   268,   269,   270,     0,   271,     0,   272,   273,   274,
     275,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     276,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   277,
       0,     0,     0,     0,     0,     0,   278,   279,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   280,     0,
       0,   281,     0,     0,     0,   282,   283,     0,   284,     0,
       0,     0,     0,   285,     0,     0,     0,   286,     0,     0,
     287,   288,   289,   290,     0,     0,     0,   291,   292,   293,
       0,   294,   295,     0,     0,   296,     0,   297,     0,     0,
       0,     0,     0,     0,   298,     0,   299,   300,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
      99,   100,   101,   102,   103,   302,     0,   303,   104,     0,
     304,     0,     0,   305,     0,   306,     0,   307,   308,   309,
       0,   105,     0,     0,   106,   107,   108,   109,     0,   110,
     111,   112,   113,     0,     0,     0,   114,     0,     0,   115,
       0,   116,   117,   118,   119,   120,     0,   121,     0,     0,
     122,     0,   123,     0,     0,   124,     0,     0,   125,   126,
     127,   128,   129,   130,     0,     0,   131,   132,   133,   134,
       0,     0,   135,     0,   136,   137,   138,     0,   139,     0,
     140,   141,     0,     0,     0,     0,   142,   143,   144,   145,
    1854,   146,   147,   148,     0,   149,     0,   150,   151,     0,
       0,   152,   153,     0,   154,     0,   155,     0,     0,   156,
       0,     0,     0,     0,   157,     0,     0,   158,     0,     0,
     159,   160,   161,     0,   162,   163,   164,     0,     0,   165,
     166,     0,   167,     0,   168,   169,   170,     0,     0,     0,
       0,   171,     0,   172,     0,   173,     0,     0,     0,   174,
       0,     0,   175,   176,   177,     0,   178,     0,   179,     0,
       0,   180,     0,     0,   181,     0,     0,     0,     0,     0,
     182,   183,   345,     0,     0,   184,     0,   185,     0,     0,
       0,   186,   187,   188,   189,   190,   191,   192,   193,   194,
     195,   196,   197,   198,   199,   200,   201,     0,   202,   203,
     204,   205,   206,   207,   208,   209,     0,   210,   211,   212,
       0,   213,     0,   214,     0,     0,   215,     0,   216,   217,
       0,     0,     0,     0,     0,     0,     0,   218,   219,   220,
       0,     0,   221,   222,   223,   224,   225,   226,   227,   228,
       0,     0,     0,     0,   229,     0,   230,     0,   231,   232,
       0,     0,   233,   234,   235,   236,     0,     0,   237,   238,
     239,   240,   241,     0,     0,     0,   242,   243,     0,   244,
       0,     0,   245,   246,     0,   346,     0,     0,   247,     0,
     248,   249,     0,     0,     0,     0,   250,     0,   251,   252,
       0,   253,     0,     0,     0,   254,     0,     0,   255,     0,
     256,     0,     0,     0,     0,   257,     0,   258,   259,   260,
     261,     0,     0,     0,   262,     0,   263,   264,     0,     0,
     265,   266,     0,   267,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   268,   269,   270,     0,   271,     0,   272,
     273,   274,   275,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   276,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   277,     0,     0,     0,     0,     0,     0,   278,   279,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     280,     0,     0,   281,     0,     0,     0,   282,   283,     0,
     284,     0,     0,     0,     0,   285,     0,     0,     0,   286,
       0,     0,   287,   288,   289,   290,     0,     0,     0,   291,
     292,   293,     0,   294,   295,     0,     0,   296,     0,   297,
       0,     0,     0,     0,     0,     0,   298,     0,   299,   300,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   301,    99,   100,   101,   102,   103,   302,     0,   303,
     104,     0,   304,     0,     0,   305,     0,   306,     0,   307,
     308,   309,     0,   105,     0,     0,   106,   107,   108,   109,
       0,   110,   111,   112,   113,     0,     0,     0,   114,     0,
       0,   115,     0,   116,   117,   118,   119,   120,     0,   121,
       0,     0,   122,     0,   123,     0,     0,   124,     0,     0,
     125,   126,   127,   128,   129,   130,     0,     0,   131,   132,
     133,   134,     0,     0,   135,     0,   136,   137,   138,     0,
     139,     0,   140,   141,     0,     0,     0,     0,   142,   143,
     144,   145,     0,   146,   147,   148,     0,   149,     0,   150,
     151,     0,     0,   152,   153,     0,   154,     0,   155,     0,
       0,   156,     0,     0,     0,     0,   157,  2240,     0,   158,
       0,     0,   159,   160,   161,     0,   162,   163,   164,     0,
       0,   165,   166,     0,   167,     0,   168,   169,   170,     0,
       0,     0,     0,   171,     0,   172,     0,   173,     0,     0,
       0,   174,     0,     0,   175,   176,   177,     0,   178,     0,
     179,     0,     0,   180,     0,     0,   181,     0,     0,     0,
       0,     0,   182,   183,   345,     0,     0,   184,     0,   185,
       0,     0,     0,   186,   187,   188,   189,   190,   191,   192,
     193,   194,   195,   196,   197,   198,   199,   200,   201,     0,
     202,   203,   204,   205,   206,   207,   208,   209,     0,   210,
     211,   212,     0,   213,     0,   214,     0,     0,   215,     0,
     216,   217,     0,     0,     0,     0,     0,     0,     0,   218,
     219,   220,     0,     0,   221,   222,   223,   224,   225,   226,
     227,   228,     0,     0,     0,     0,   229,     0,   230,     0,
     231,   232,     0,     0,   233,   234,   235,   236,     0,     0,
     237,   238,   239,   240,   241,     0,     0,     0,   242,   243,
       0,   244,     0,     0,   245,   246,     0,   346,     0,     0,
     247,     0,   248,   249,     0,     0,     0,     0,   250,     0,
     251,   252,     0,   253,     0,     0,     0,   254,     0,     0,
     255,     0,   256,     0,     0,     0,     0,   257,     0,   258,
     259,   260,   261,     0,     0,     0,   262,     0,   263,   264,
       0,     0,   265,   266,     0,   267,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   268,   269,   270,     0,   271,
       0,   272,   273,   274,   275,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   276,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   277,     0,     0,     0,     0,     0,     0,
     278,   279,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   280,     0,     0,   281,     0,     0,     0,   282,
     283,     0,   284,     0,     0,     0,     0,   285,     0,     0,
       0,   286,     0,     0,   287,   288,   289,   290,     0,     0,
       0,   291,   292,   293,     0,   294,   295,     0,     0,   296,
       0,   297,     0,     0,     0,     0,     0,     0,   298,     0,
     299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   301,    99,   100,   101,   102,   103,   302,
       0,   303,   104,     0,   304,     0,     0,   305,     0,   306,
       0,   307,   308,   309,     0,   105,     0,     0,   106,   107,
     108,   109,     0,   110,   111,   112,   113,     0,     0,     0,
     114,     0,     0,   115,     0,   116,   117,   118,   119,   120,
       0,   121,     0,     0,   122,     0,   123,     0,     0,   124,
       0,     0,   125,   126,   127,   128,   129,   130,     0,     0,
     131,   132,   133,   134,     0,     0,   135,     0,   136,   137,
     138,     0,   139,     0,   140,   141,     0,     0,     0,     0,
     142,   143,   144,   145,     0,   146,   147,   148,     0,   149,
       0,   150,   151,     0,     0,   152,   153,     0,   154,     0,
     155,     0,     0,   156,     0,     0,     0,     0,   157,     0,
       0,   158,     0,     0,   159,   160,   161,     0,   162,   163,
     164,     0,     0,   165,   166,     0,   167,     0,   168,   169,
     170,     0,     0,     0,     0,   171,     0,   172,     0,   173,
       0,     0,     0,   174,     0,     0,   175,   176,   177,     0,
     178,     0,   179,     0,     0,   180,     0,     0,   181,     0,
       0,     0,     0,     0,   182,   183,   345,     0,     0,   184,
       0,   185,     0,     0,     0,   186,   187,   188,   189,   190,
     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
     201,     0,   202,   203,   204,   205,   206,   207,   208,   209,
       0,   210,   211,   212,     0,   213,     0,   214,     0,     0,
     215,     0,   216,   217,     0,     0,     0,     0,     0,     0,
       0,   218,   219,   220,     0,     0,   221,   222,   223,   224,
     225,   226,   227,   228,     0,     0,     0,     0,   229,     0,
     230,     0,   231,   232,     0,     0,   233,   234,   235,   236,
       0,     0,   237,   238,   239,   240,   241,     0,     0,     0,
     242,   243,     0,   244,     0,     0,   245,   246,     0,   346,
       0,     0,   247,     0,   248,   249,     0,     0,     0,     0,
     250,     0,   251,   252,     0,   253,     0,     0,     0,   254,
       0,     0,   255,     0,   256,     0,     0,     0,     0,   257,
       0,   258,   259,   260,   261,     0,     0,     0,   262,     0,
     263,   264,     0,     0,   265,   266,     0,   267,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   268,   269,   270,
       0,   271,     0,   272,   273,   274,   275,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   276,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   277,     0,     0,     0,     0,
       0,     0,   278,   279,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   280,     0,     0,   281,     0,     0,
       0,   282,   283,     0,   284,     0,     0,     0,     0,   285,
       0,     0,     0,   286,     0,     0,   287,   288,   289,   290,
       0,     0,     0,   291,   292,   293,     0,   294,   295,     0,
       0,   296,     0,   297,     0,     0,     0,     0,     0,     0,
     298,     0,   299,   300,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   301,    99,   100,   101,   102,
     103,   302,     0,   303,   104,     0,   304,     0,     0,   305,
       0,   306,     0,   307,   308,   309,     0,   105,     0,     0,
     106,   107,   108,   109,     0,   110,   111,   112,   113,     0,
       0,     0,   114,     0,     0,   115,     0,   116,   117,   118,
     119,   120,     0,   121,     0,     0,   122,     0,   123,     0,
       0,   124,     0,     0,   125,   126,   127,   128,   129,   130,
       0,     0,   131,   132,   133,   134,     0,     0,   135,     0,
     136,   137,   138,     0,   139,     0,   140,   141,     0,     0,
       0,     0,   142,   143,   144,   145,     0,   146,   147,   148,
       0,   149,     0,   150,   151,     0,     0,   152,   153,     0,
     154,     0,   155,     0,     0,   156,     0,     0,     0,     0,
     157,     0,     0,   158,     0,     0,   159,   160,   161,     0,
     162,   163,   164,     0,     0,   165,   166,     0,   167,     0,
     168,   169,   170,     0,     0,     0,     0,   171,     0,   172,
       0,   173,     0,     0,     0,   174,  1085,     0,   175,   176,
     177,     0,   178,     0,   179,     0,     0,   180,     0,     0,
     181,     0,     0,     0,     0,     0,   182,   183,     0,     0,
       0,   184,     0,   185,     0,     0,     0,   186,   187,   188,
     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
     199,   200,   201,     0,   202,   203,   204,   205,   206,   207,
     208,   209,     0,   210,   211,   212,     0,   213,     0,   214,
       0,     0,   215,     0,   216,   217,     0,     0,     0,     0,
       0,     0,     0,   218,   219,   220,     0,     0,   221,   222,
     223,   224,   225,   226,   227,   228,     0,     0,     0,     0,
     229,     0,   230,     0,   231,   232,     0,     0,   233,   234,
     235,   236,     0,     0,   237,   238,   239,   240,   241,     0,
       0,     0,   242,   243,     0,   244,     0,     0,   245,   246,
       0,   470,     0,     0,   247,     0,   248,   249,     0,     0,
       0,     0,   250,     0,   251,   252,     0,   253,     0,     0,
       0,   254,     0,     0,   255,     0,   256,     0,     0,     0,
       0,   257,     0,   258,   259,   260,   261,     0,     0,     0,
     262,     0,   263,   264,     0,     0,   265,   266,     0,   267,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   268,
     269,   270,     0,   271,     0,   272,   273,   274,   275,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   276,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   277,     0,     0,
       0,     0,     0,     0,   278,   279,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   280,     0,     0,   281,
       0,     0,     0,   282,   283,     0,   284,     0,     0,     0,
       0,   285,     0,     0,     0,   286,     0,     0,   287,   288,
     289,   290,     0,     0,     0,   291,   292,   293,     0,   294,
     295,     0,     0,   296,     0,   297,     0,     0,     0,     0,
       0,     0,   298,     0,   299,   300,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   301,    99,   100,
     101,   102,   103,   302,     0,   303,   104,     0,   304,     0,
       0,   305,     0,   306,     0,   307,   308,   309,     0,   105,
       0,     0,   106,   107,   108,   109,     0,   110,   111,   112,
     113,     0,     0,     0,   114,     0,     0,   115,     0,   116,
     117,   118,   119,   120,     0,   121,     0,     0,   122,     0,
     123,     0,     0,   124,     0,     0,   125,   126,   127,   128,
     129,   130,     0,     0,   131,   132,   133,   134,     0,     0,
     135,     0,   136,   137,   138,     0,   139,     0,   140,   141,
       0,     0,  2160,     0,   142,   143,   144,   145,     0,   146,
     147,   148,     0,   149,     0,   150,   151,     0,     0,   152,
     153,     0,   154,     0,   155,     0,     0,   156,     0,     0,
       0,     0,   157,     0,     0,   158,     0,     0,   159,   160,
     161,     0,   162,   163,   164,     0,     0,   165,   166,     0,
     167,     0,   168,   169,   170,     0,     0,     0,     0,   171,
       0,   172,     0,   173,     0,     0,     0,   174,     0,     0,
     175,   176,   177,     0,   178,     0,   179,     0,     0,   180,
       0,     0,   181,     0,     0,     0,     0,     0,   182,   183,
       0,     0,     0,   184,     0,   185,     0,     0,     0,   186,
     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
     197,   198,   199,   200,   201,     0,   202,   203,   204,   205,
     206,   207,   208,   209,     0,   210,   211,   212,     0,   213,
       0,   214,     0,     0,   215,     0,   216,   217,     0,     0,
       0,     0,     0,     0,     0,   218,   219,   220,     0,     0,
     221,   222,   223,   224,   225,   226,   227,   228,     0,     0,
       0,     0,   229,     0,   230,     0,   231,   232,     0,     0,
     233,   234,   235,   236,     0,     0,   237,   238,   239,   240,
     241,     0,     0,     0,   242,   243,     0,   244,     0,     0,
     245,   246,     0,   346,     0,     0,   247,     0,   248,   249,
       0,     0,     0,     0,   250,     0,   251,   252,     0,   253,
       0,     0,     0,   254,     0,     0,   255,     0,   256,     0,
       0,     0,     0,   257,     0,   258,   259,   260,   261,     0,
       0,     0,   262,     0,   263,   264,     0,     0,   265,   266,
       0,   267,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   268,   269,   270,     0,   271,     0,   272,   273,   274,
     275,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     276,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   277,
       0,     0,     0,     0,     0,     0,   278,   279,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   280,     0,
       0,   281,     0,     0,     0,   282,   283,     0,   284,     0,
       0,     0,     0,   285,     0,     0,     0,   286,     0,     0,
     287,   288,   289,   290,     0,     0,     0,   291,   292,   293,
       0,   294,   295,     0,     0,   296,     0,   297,     0,     0,
       0,     0,     0,     0,   298,     0,   299,   300,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
      99,   100,   101,   102,   103,   302,     0,   303,   104,     0,
     304,     0,     0,   305,     0,   306,     0,   307,   308,   309,
       0,   105,     0,     0,   106,   107,   108,   109,     0,   110,
     111,   112,   113,     0,     0,     0,   114,     0,     0,   115,
       0,   116,   117,   118,   119,   120,     0,   121,     0,     0,
     122,     0,   123,     0,     0,   124,     0,     0,   125,   126,
     127,   128,   129,   130,     0,     0,   131,   132,   133,   134,
       0,     0,   135,     0,   136,   137,   138,     0,   139,     0,
     140,   141,     0,     0,     0,     0,   142,   143,   144,   145,
       0,   146,   147,   148,     0,   149,     0,   150,   151,     0,
       0,   152,   153,     0,   154,     0,   155,     0,     0,   156,
       0,     0,     0,     0,   157,     0,     0,   158,     0,     0,
     159,   160,   161,     0,   162,   163,   164,     0,     0,   165,
     166,     0,   167,     0,   168,   169,   170,     0,     0,     0,
     736,   171,     0,   172,     0,   173,     0,     0,     0,   174,
       0,     0,   175,   176,   177,     0,   178,     0,   179,     0,
       0,   180,     0,     0,   181,     0,     0,     0,     0,     0,
     182,   183,     0,     0,     0,   184,     0,   185,     0,     0,
       0,   186,   187,   188,   189,   190,   191,   192,   193,   194,
     195,   196,   197,   198,   199,   200,   201,     0,   202,   203,
     204,   205,   206,   207,   208,   209,     0,   210,   211,   212,
       0,   213,     0,   214,     0,     0,   215,     0,   216,   217,
       0,     0,     0,     0,     0,     0,     0,   218,   219,   220,
       0,     0,   221,   222,   223,   224,   225,   226,   227,   228,
       0,     0,     0,     0,   229,     0,   230,     0,   231,   232,
       0,     0,   233,   234,   235,   236,     0,     0,   237,   238,
     239,   240,   241,     0,     0,     0,   242,   243,     0,   244,
       0,     0,   245,   246,     0,     0,     0,     0,   247,     0,
     248,   249,     0,     0,     0,     0,   250,     0,   251,   252,
       0,   253,     0,     0,     0,   254,     0,     0,   255,     0,
     256,     0,     0,     0,     0,   257,     0,   258,   259,   260,
     261,     0,     0,     0,   262,     0,   263,   264,     0,     0,
     265,   266,     0,   267,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   268,   269,   270,     0,   271,     0,   272,
     273,   274,   275,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   276,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   277,     0,     0,     0,     0,     0,     0,   278,   279,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     280,     0,     0,   281,     0,     0,     0,   282,   283,     0,
     284,     0,     0,     0,     0,   285,     0,     0,     0,   286,
       0,     0,   287,   288,   289,   290,     0,     0,     0,   291,
     292,   293,     0,   294,   295,     0,     0,   296,     0,   297,
       0,     0,     0,     0,     0,     0,   298,     0,   299,   300,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   301,    99,   100,   101,   102,   103,   302,     0,   303,
     104,     0,   304,     0,     0,   305,     0,   306,     0,   307,
     308,   309,     0,   105,     0,     0,   106,   107,   108,   109,
       0,   110,   111,   112,   113,     0,     0,     0,   114,     0,
       0,   115,     0,   116,   117,   118,   119,   120,     0,   121,
       0,     0,   122,     0,   123,     0,     0,   124,     0,     0,
     125,   126,   127,   128,   129,   130,     0,     0,   131,   132,
     133,   134,     0,     0,   135,     0,   136,   137,   138,     0,
     139,     0,   140,   141,     0,     0,     0,     0,   142,   143,
     144,   145,     0,   146,   147,   148,     0,   149,     0,   150,
     151,     0,     0,   152,   153,     0,   154,     0,   155,     0,
       0,   156,     0,     0,     0,     0,   157,  1393,     0,   158,
       0,     0,   159,   160,   161,     0,   162,   163,   164,     0,
       0,   165,   166,     0,   167,     0,   168,   169,   170,     0,
       0,     0,     0,   171,     0,   172,     0,   173,     0,     0,
       0,   174,     0,     0,   175,   176,   177,     0,   178,     0,
     179,     0,     0,   180,     0,     0,   181,     0,     0,     0,
       0,     0,   182,   183,     0,     0,     0,   184,     0,   185,
       0,     0,     0,   186,   187,   188,   189,   190,   191,   192,
     193,   194,   195,   196,   197,   198,   199,   200,   201,     0,
     202,   203,   204,   205,   206,   207,   208,   209,     0,   210,
     211,   212,     0,   213,     0,   214,     0,     0,   215,     0,
     216,   217,     0,     0,     0,     0,     0,     0,     0,   218,
     219,   220,     0,     0,   221,   222,   223,   224,   225,   226,
     227,   228,     0,     0,     0,     0,   229,     0,   230,     0,
     231,   232,     0,     0,   233,   234,   235,   236,     0,     0,
     237,   238,   239,   240,   241,     0,     0,     0,   242,   243,
       0,   244,     0,     0,   245,   246,     0,     0,     0,     0,
     247,     0,   248,   249,     0,     0,     0,     0,   250,     0,
     251,   252,     0,   253,     0,     0,     0,   254,     0,     0,
     255,     0,   256,     0,     0,     0,     0,   257,     0,   258,
     259,   260,   261,     0,     0,     0,   262,     0,   263,   264,
       0,     0,   265,   266,     0,   267,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   268,   269,   270,     0,   271,
       0,   272,   273,   274,   275,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   276,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   277,     0,     0,     0,     0,     0,     0,
     278,   279,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   280,     0,     0,   281,     0,     0,     0,   282,
     283,     0,   284,     0,     0,     0,     0,   285,     0,     0,
       0,   286,     0,     0,   287,   288,   289,   290,     0,     0,
       0,   291,   292,   293,     0,   294,   295,     0,     0,   296,
       0,   297,     0,     0,     0,     0,     0,     0,   298,     0,
     299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   301,    99,   100,   101,   102,   103,   302,
       0,   303,   104,     0,   304,     0,     0,   305,     0,   306,
       0,   307,   308,   309,     0,   105,     0,     0,   106,   107,
     108,   109,     0,   110,   111,   112,   113,     0,     0,     0,
     114,     0,     0,   115,     0,   116,   117,   118,   119,   120,
       0,   121,     0,     0,   122,     0,   123,     0,     0,   124,
       0,     0,   125,   126,   127,   128,   129,   130,     0,     0,
     131,   132,   133,   134,     0,     0,   135,     0,   136,   137,
     138,     0,   139,     0,   140,   141,     0,     0,     0,     0,
     142,   143,   144,   145,     0,   146,   147,   148,     0,   149,
       0,   150,   151,     0,     0,   152,   153,     0,   154,     0,
     155,     0,     0,   156,     0,     0,     0,     0,   157,  1430,
       0,   158,     0,     0,   159,   160,   161,     0,   162,   163,
     164,     0,     0,   165,   166,     0,   167,     0,   168,   169,
     170,     0,     0,     0,     0,   171,     0,   172,     0,   173,
       0,     0,     0,   174,     0,     0,   175,   176,   177,     0,
     178,     0,   179,     0,     0,   180,     0,     0,   181,     0,
       0,     0,     0,     0,   182,   183,     0,     0,     0,   184,
       0,   185,     0,     0,     0,   186,   187,   188,   189,   190,
     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
     201,     0,   202,   203,   204,   205,   206,   207,   208,   209,
       0,   210,   211,   212,     0,   213,     0,   214,     0,     0,
     215,     0,   216,   217,     0,     0,     0,     0,     0,     0,
       0,   218,   219,   220,     0,     0,   221,   222,   223,   224,
     225,   226,   227,   228,     0,     0,     0,     0,   229,     0,
     230,     0,   231,   232,     0,     0,   233,   234,   235,   236,
       0,     0,   237,   238,   239,   240,   241,     0,     0,     0,
     242,   243,     0,   244,     0,     0,   245,   246,     0,     0,
       0,     0,  1431,     0,   248,   249,     0,     0,     0,     0,
     250,     0,   251,   252,     0,   253,     0,     0,     0,   254,
       0,     0,   255,     0,   256,     0,     0,     0,     0,   257,
       0,   258,   259,   260,   261,     0,     0,     0,   262,     0,
     263,   264,     0,     0,   265,   266,     0,   267,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   268,   269,   270,
       0,   271,     0,   272,   273,   274,   275,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   276,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   277,     0,     0,     0,     0,
       0,     0,   278,   279,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   280,     0,     0,   281,     0,     0,
       0,   282,   283,     0,   284,     0,     0,     0,     0,   285,
       0,     0,     0,   286,     0,     0,   287,   288,   289,   290,
       0,     0,     0,   291,   292,   293,     0,   294,   295,     0,
       0,   296,     0,   297,     0,     0,     0,     0,     0,     0,
     298,     0,   299,   300,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   301,    99,   100,   101,   102,
     103,   302,     0,   303,   104,     0,   304,     0,     0,   305,
       0,   306,     0,   307,   308,   309,     0,   105,     0,     0,
     106,   107,   108,   109,     0,   110,   111,   112,   113,     0,
       0,     0,   114,     0,     0,   115,     0,   116,   117,   118,
     119,   120,     0,   121,     0,     0,   122,     0,   123,     0,
       0,   124,     0,     0,   125,   126,   127,   128,   129,   130,
       0,     0,   131,   132,   133,   134,     0,     0,   135,     0,
     136,   137,   138,     0,   139,     0,   140,   141,     0,     0,
       0,     0,   142,   143,   144,   145,     0,   146,   147,   148,
       0,   149,     0,   150,   151,     0,     0,   152,   153,     0,
     154,     0,   155,     0,     0,   156,     0,     0,     0,     0,
     157,     0,     0,   158,     0,     0,   159,   160,   161,     0,
     162,   163,   164,     0,     0,   165,   166,     0,   167,     0,
     168,   169,   170,     0,     0,     0,     0,   171,     0,   172,
       0,   173,     0,     0,     0,   174,     0,     0,   175,   176,
     177,     0,   178,     0,   179,     0,     0,   180,     0,     0,
     181,     0,     0,     0,     0,     0,   182,   183,     0,     0,
       0,   184,     0,   185,     0,     0,     0,   186,   187,   188,
     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
     199,   200,   201,     0,   202,   203,   204,   205,   206,   207,
     208,   209,     0,   210,   211,   212,     0,   213,     0,   214,
       0,     0,   215,     0,   216,   217,     0,     0,     0,     0,
       0,     0,     0,   218,   219,   220,  2196,     0,   221,   222,
     223,   224,   225,   226,   227,   228,     0,     0,     0,     0,
     229,     0,   230,     0,   231,   232,     0,     0,   233,   234,
     235,   236,     0,     0,   237,   238,   239,   240,   241,     0,
       0,     0,   242,   243,     0,   244,     0,     0,   245,   246,
       0,     0,     0,     0,   247,     0,   248,   249,     0,     0,
       0,     0,   250,     0,   251,   252,     0,   253,     0,     0,
       0,   254,     0,     0,   255,     0,   256,     0,     0,     0,
       0,   257,     0,   258,   259,   260,   261,     0,     0,     0,
     262,     0,   263,   264,     0,     0,   265,   266,     0,   267,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   268,
     269,   270,     0,   271,     0,   272,   273,   274,   275,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   276,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   277,     0,     0,
       0,     0,     0,     0,   278,   279,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   280,     0,     0,   281,
       0,     0,     0,   282,   283,     0,   284,     0,     0,     0,
       0,   285,     0,     0,     0,   286,     0,     0,   287,   288,
     289,   290,     0,     0,     0,   291,   292,   293,     0,   294,
     295,     0,     0,   296,     0,   297,     0,     0,     0,     0,
       0,     0,   298,     0,   299,   300,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   301,    99,   100,
     101,   102,   103,   302,     0,   303,   104,     0,   304,     0,
       0,   305,     0,   306,     0,   307,   308,   309,     0,   105,
       0,     0,   106,   107,   108,   109,     0,   110,   111,   112,
     113,     0,     0,     0,   114,     0,     0,   115,     0,   116,
     117,   118,   119,   120,     0,   121,     0,     0,   122,     0,
     123,     0,     0,   124,     0,     0,   125,   126,   127,   128,
     129,   130,     0,     0,   131,   132,   133,   134,     0,     0,
     135,     0,   136,   137,   138,     0,   139,     0,   140,   141,
       0,     0,     0,     0,   142,   143,   144,   145,     0,   146,
     147,   148,     0,   149,     0,   150,   151,     0,     0,   152,
     153,     0,   154,     0,   155,     0,     0,   156,     0,     0,
       0,     0,   157,     0,     0,   158,     0,     0,   159,   160,
     161,     0,   162,   163,   164,     0,     0,   165,   166,     0,
     167,     0,   168,   169,   170,     0,     0,     0,     0,   171,
       0,   172,     0,   173,     0,     0,     0,   174,     0,     0,
     175,   176,   177,     0,   178,     0,   179,     0,     0,   180,
       0,     0,   181,     0,     0,     0,     0,     0,   182,   183,
       0,     0,     0,   184,     0,   185,     0,     0,     0,   186,
     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
     197,   198,   199,   200,   201,     0,   202,   203,   204,   205,
     206,   207,   208,   209,     0,   210,   211,   212,     0,   213,
       0,   214,     0,     0,   215,     0,   216,   217,     0,     0,
       0,     0,     0,     0,     0,   218,   219,   220,     0,     0,
     221,   222,   223,   224,   225,   226,   227,   228,     0,     0,
       0,     0,   229,     0,   230,     0,   231,   232,     0,     0,
     233,   234,   235,   236,     0,     0,   237,   238,   239,   240,
     241,     0,     0,     0,   242,   243,     0,   244,     0,     0,
     245,   246,     0,   346,     0,     0,   247,     0,   248,   249,
       0,     0,     0,     0,   250,     0,   251,   252,     0,   253,
       0,     0,     0,   254,     0,     0,   255,     0,   256,     0,
       0,     0,     0,   257,     0,   258,   259,   260,   261,     0,
       0,     0,   262,     0,   263,   264,     0,     0,   265,   266,
       0,   267,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   268,   269,   270,     0,   271,     0,   272,   273,   274,
     275,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     276,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   277,
       0,     0,     0,     0,     0,     0,   278,   279,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   280,     0,
       0,   281,     0,     0,     0,   282,   283,     0,   284,     0,
       0,     0,     0,   285,     0,     0,     0,   286,     0,     0,
     287,   288,   289,   290,     0,     0,     0,   291,   292,   293,
       0,   294,   295,     0,     0,   296,     0,   297,     0,     0,
       0,     0,     0,     0,   298,     0,   299,   300,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   301,
      99,   100,   101,   102,   103,   302,     0,   303,   104,     0,
     304,     0,     0,   305,     0,   306,     0,   307,   308,   309,
       0,   105,     0,     0,   106,   107,   108,   109,     0,   110,
     111,   112,   113,     0,     0,     0,   114,     0,     0,   115,
       0,   116,   117,   118,   119,   120,     0,   121,     0,     0,
     122,     0,   123,     0,     0,   124,     0,     0,   125,   126,
     127,   128,   129,   130,     0,     0,   131,   132,   133,   134,
       0,     0,   135,     0,   136,   137,   138,     0,   139,     0,
     140,   141,     0,     0,     0,     0,   142,   143,   144,   145,
       0,   146,   147,   148,     0,   149,     0,   150,   151,     0,
       0,   152,   153,     0,   154,     0,   155,     0,     0,   156,
       0,     0,     0,     0,   157,  1430,     0,   158,     0,     0,
     159,   160,   161,     0,   162,   163,   164,     0,     0,   165,
     166,     0,   167,     0,   168,   169,   170,     0,     0,     0,
       0,   171,     0,   172,     0,   173,     0,     0,     0,   174,
       0,     0,   175,   176,   177,     0,   178,     0,   179,     0,
       0,   180,     0,     0,   181,     0,     0,     0,     0,     0,
     182,   183,     0,     0,     0,   184,     0,   185,     0,     0,
       0,   186,   187,   188,   189,   190,   191,   192,   193,   194,
     195,   196,   197,   198,   199,   200,   201,     0,   202,   203,
     204,   205,   206,   207,   208,   209,     0,   210,   211,   212,
       0,   213,     0,   214,     0,     0,   215,     0,   216,   217,
       0,     0,     0,     0,     0,     0,     0,   218,   219,   220,
       0,     0,   221,   222,   223,   224,   225,   226,   227,   228,
       0,     0,     0,     0,   229,     0,   230,     0,   231,   232,
       0,     0,   233,   234,   235,   236,     0,     0,   237,   238,
     239,   240,   241,     0,     0,     0,   242,   243,     0,   244,
       0,     0,   245,   246,     0,     0,     0,     0,   247,     0,
     248,   249,     0,     0,     0,     0,   250,     0,   251,   252,
       0,   253,     0,     0,     0,   254,     0,     0,   255,     0,
     256,     0,     0,     0,     0,   257,     0,   258,   259,   260,
     261,     0,     0,     0,   262,     0,   263,   264,     0,     0,
     265,   266,     0,   267,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   268,   269,   270,     0,   271,     0,   272,
     273,   274,   275,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   276,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   277,     0,     0,     0,     0,     0,     0,   278,   279,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     280,     0,     0,   281,     0,     0,     0,   282,   283,     0,
     284,     0,     0,     0,     0,   285,     0,     0,     0,   286,
       0,     0,   287,   288,   289,   290,     0,     0,     0,   291,
     292,   293,     0,   294,   295,     0,     0,   296,     0,   297,
       0,     0,     0,     0,     0,     0,   298,     0,   299,   300,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   301,    99,   100,   101,   102,   103,   302,     0,   303,
     104,     0,   304,     0,     0,   305,     0,   306,     0,   307,
     308,   309,     0,   105,     0,     0,   106,   107,   108,   109,
       0,   110,   111,   112,   113,     0,     0,     0,   114,     0,
       0,   115,     0,   116,   117,   118,   119,   120,     0,   121,
       0,     0,   122,     0,   123,     0,     0,   124,     0,     0,
     125,   126,   127,   128,   129,   130,     0,     0,   131,   132,
     133,   134,     0,     0,   135,     0,   136,   137,   138,     0,
     139,     0,   140,   141,     0,     0,     0,     0,   142,   143,
     144,   145,     0,   146,   147,   148,     0,   149,     0,   150,
     151,     0,     0,   152,   153,     0,   154,     0,   155,     0,
       0,   156,     0,     0,     0,     0,   157,     0,     0,   158,
       0,     0,   159,   160,   161,     0,   162,   163,   164,     0,
       0,   165,   166,     0,   167,     0,   168,   169,   170,     0,
       0,     0,     0,   171,     0,   172,     0,   173,     0,     0,
       0,   174,     0,     0,   175,   176,   177,     0,   178,     0,
     179,     0,     0,   180,     0,     0,   181,     0,     0,     0,
       0,     0,   182,   183,     0,     0,     0,   184,     0,   185,
       0,     0,     0,   186,   187,   188,   189,   190,   191,   192,
     193,   194,   195,   196,   197,   198,   199,   200,   201,     0,
     202,   203,   204,   205,   206,   207,   208,   209,     0,   210,
     211,   212,     0,   213,     0,   214,     0,     0,   215,     0,
     216,   217,     0,     0,     0,     0,     0,     0,     0,   218,
     219,   220,     0,     0,   221,   222,   223,   224,   225,   226,
     227,   228,     0,     0,     0,     0,   229,     0,   230,     0,
     231,   232,     0,     0,   233,   234,   235,   236,     0,     0,
     237,   238,   239,   240,   241,     0,     0,     0,   242,   243,
       0,   244,     0,     0,   245,   246,     0,     0,     0,     0,
     247,     0,   248,   249,     0,     0,     0,     0,   250,     0,
     251,   252,     0,   253,     0,     0,     0,   254,     0,     0,
     255,     0,   256,     0,     0,     0,     0,   257,     0,   258,
     259,   260,   261,     0,     0,     0,   262,     0,   263,   264,
       0,     0,   265,   266,     0,   267,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   268,   269,   270,     0,   271,
       0,   272,   273,   274,   275,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   276,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   277,     0,     0,     0,     0,     0,     0,
     278,   279,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   280,     0,     0,   281,     0,     0,     0,   282,
     283,     0,   284,     0,     0,     0,     0,   285,     0,     0,
       0,   286,     0,     0,   287,   288,   289,   290,     0,     0,
       0,   291,   292,   293,     0,   294,   295,     0,     0,   296,
       0,   297,     0,     0,     0,     0,     0,     0,   298,     0,
     299,   300,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   301,    99,   100,   101,  1091,   103,   302,
       0,   303,   104,     0,   304,     0,     0,   305,     0,   306,
       0,   307,   308,   309,     0,   105,     0,     0,   106,   107,
     108,   109,     0,   110,   111,   112,   113,     0,     0,     0,
     114,     0,     0,   115,     0,   116,   117,   118,   119,   120,
       0,   121,     0,     0,   122,     0,   123,     0,     0,   124,
       0,     0,   125,   126,   127,   128,   129,   130,     0,     0,
     131,   132,   133,   134,     0,     0,   135,     0,   136,   137,
     138,     0,   139,     0,   140,   141,     0,     0,     0,     0,
     142,   143,   144,   145,     0,   146,   147,   148,     0,   149,
       0,   150,   151,     0,     0,   152,   153,     0,   154,     0,
     155,     0,     0,   156,     0,     0,     0,     0,   157,     0,
       0,   158,     0,     0,   159,   160,   161,     0,   162,   163,
     164,     0,     0,   165,   166,     0,   167,     0,   168,  1092,
     170,     0,     0,     0,     0,   171,     0,   172,     0,   173,
       0,     0,     0,   174,     0,     0,   175,   176,   177,     0,
     178,     0,   179,     0,     0,   180,     0,     0,   181,     0,
       0,     0,     0,     0,   182,   183,     0,     0,     0,   184,
       0,   185,     0,     0,     0,   186,   187,   188,   189,   190,
     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
     201,     0,   202,   203,   204,   205,   206,   207,   208,   209,
       0,   210,   211,   212,     0,   213,     0,   214,     0,     0,
     215,     0,   216,   217,     0,     0,     0,     0,     0,     0,
       0,   218,   219,   220,     0,     0,   221,   222,   223,   224,
     225,   226,   227,   228,     0,     0,     0,     0,   229,     0,
     230,     0,   231,   232,     0,     0,   233,   234,   235,   236,
       0,     0,   237,   238,   239,   240,   241,     0,     0,     0,
     242,   243,     0,   244,     0,     0,   245,   246,     0,     0,
       0,     0,   247,     0,   248,   249,     0,     0,     0,     0,
     250,     0,   251,   252,     0,   253,     0,     0,     0,   254,
       0,     0,   255,     0,   256,     0,     0,     0,     0,   257,
       0,   258,   259,   260,   261,     0,     0,     0,   262,     0,
     263,   264,     0,     0,   265,   266,     0,   267,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   268,   269,   270,
       0,   271,     0,   272,   273,   274,   275,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   276,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   277,     0,     0,     0,     0,
       0,     0,   278,   279,     0,  1463,     0,  1464,     0,     0,
       0,     0,     0,  1465,   280,  1466,     0,   281,     0,     0,
       0,   282,   283,     0,   284,  1467,     0,     0,     0,   285,
       0,     0,     0,   286,     0,     0,   287,   288,   289,   290,
       0,     0,     0,   291,   292,   293,     0,   294,   295,     0,
       0,   296,     0,   297,     0,     0,     0,     0,     0,     0,
     298,     0,   299,   300,     0,     0,     0,     0,     0,     0,
       0,  1468,  1469,     0,     0,   301,     0,     0,     0,     0,
       0,   302,     0,   303,     0,     0,   304,  1470,     0,   305,
       0,   306,     0,   307,   308,   309,  1471,     0,   626,  1472,
    1096,     0,  1473,     0,   627,   628,  1474,     0,     0,     0,
       0,  1476,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   629,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   630,     0,     0,
       0,     0,  1478,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     631,   602,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   632,     0,     0,     0,     0,   633,     0,   634,
       0,     0,     0,  1479,   635,     0,     0,     0,  1480,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1443,
       0,     0,   636,  1481,   637,     0,   638,     0,     0,     0,
       0,     0,  1482,  1483,  1484,     0,     0,     0,   639,   640,
    1485,     0,   641,     0,     0,     0,     0,   642,  1486,     0,
       0,     0,     0,     0,     0,     0,   643,     0,   644,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  1487,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1488,     0,   645,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     646,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   647,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   648,     0,     0,     0,     0,     0,   649,   650,     0,
       0,   651,   652,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1489,     0,     0,     0,     0,     0,     0,
       0, -1515,     0,     0,     0,     0,     0,     0,     0,   653,
     654,     0,     0,     0,   655,  1490,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1491,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1492,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   656,
   -1152
};

static const short int yycheck[] =
{
       2,   493,   494,   612,   336,     2,   720,   481,   482,   483,
      12,  1014,    14,   717,   974,   455,  1035,   635,   787,   584,
     840,  1459,    24,   654,   679,   680,    14,  1528,   797,   711,
     771,   649,   773,   774,   775,   776,   777,   806,  1872,   657,
     374,  1567,    44,    45,   536,   367,  1256,  1820,   653,   654,
    1083,   706,  1434,  1003,  1436,  1799,  1103,  1463,  1584,  1971,
    1006,  1467,  1381,  1314,   592,  1317,  1012,  2236,  1892,  1736,
    1103,   563,   564,   565,   729,   414,  1841,   818,   819,   820,
      82,  1846,  2475,   878,    12,    82,  1337,  1174,     3,    10,
    1533,  1990,  1991,  1358,    42,     3,  1886,   752,     3,    39,
    2544,  1884,  1892,   938,   939,  1895,  1896,    97,    68,  1828,
    1900,  1901,  1322,   727,    68,    39,  1964,   103,  2562,   892,
     893,  2565,    68,    68,   144,    68,  1960,    68,   136,    68,
    2574,   161,    10,   167,   929,   105,    59,   727,  1928,    55,
     935,   171,     9,  2587,    22,    12,     9,     3,     3,    12,
     658,   161,    19,    20,    21,   720,    19,     3,  1902,  1887,
    1888,     9,  2230,   136,    12,   159,     3,    88,  2704,  1913,
    1914,    19,    20,    21,    10,   223,  1136,    70,  1462,   214,
     169,  1104,  1466,   101,  1468,  1469,  1470,   105,   105,  1473,
     101,     4,   220,   279,   105,  1479,  1480,  1481,  1482,  1483,
    1484,   201,  1486,  1487,  1488,  1489,  1490,   159,  1492,  2257,
     251,     6,   280,    44,   301,   107,     9,   118,    99,    12,
     296,   221,   179,   144,   164,   436,    19,    20,    21,   169,
     280,   120,  2715,   339,   103,   275,   131,   132,   208,   119,
     164,    87,   156,   119,   279,   169,   214,   812,   108,   814,
    2176,   816,    88,   136,   159,   747,    18,    39,     3,   294,
     161,   141,   790,   154,    86,    10,   228,   277,   254,    31,
     210,    33,   153,    35,    36,   113,   279,  2813,    40,    41,
    2714,   221,   292,   279,    86,  2729,   210,     9,   216,   105,
      12,   299,    40,   109,   228,   184,    33,    19,  2224,    41,
    2744,   317,   182,   269,  2697,   127,   144,    56,   310,   159,
     416,   279,   278,   228,    12,   317,  2709,   999,    66,  2753,
     228,   260,   977,   206,   979,   127,   294,   337,   368,    39,
     225,   339,   272,    70,   184,   337,   260,   353,  1924,   219,
    1926,    83,   218,    88,   139,   268,   184,   317,   272,   216,
     273,   308,   354,   216,   246,  1793,   270,   354,   368,   302,
     303,   301,   296,   302,   303,   245,   339,   329,   216,   273,
     144,   296,   374,   214,   275,   849,   378,   295,   259,   713,
     301,   378,   164,   278,   295,   254,   309,   169,   279,   282,
     305,  2058,  1010,   395,   306,   329,   314,   305,   136,   317,
     317,   488,   404,   314,    10,   407,   317,   493,   476,  1027,
     407,   413,   488,   101,   329,   417,   368,   105,   407,   421,
     894,   329,   217,   216,  1676,  1348,   428,   429,   210,   260,
    2254,   244,  1378,   293,   768,   318,   354,  2261,   279,   489,
     296,  2509,   325,   437,   280,   455,   494,  1494,   489,   438,
     305,  2118,   487,   294,   164,   489,   339,   487,   428,   169,
     306,   489,  2998,   674,  2254,  2184,  2185,   407,   305,   489,
     350,  2261,  2320,   389,   329,  2523,   808,   809,  1083,  2962,
    1862,   489,    88,   407,  1098,  2268,   489,   487,   928,   339,
     272,   823,   329,   489,   216,  1150,  1747,   487,   438,  1272,
     210,   317,  1754,   489,  1507,  1508,  1509,  1327,  1098,  1329,
    1124,   389,  1531,  1516,   438,   847,   489,  1025,   216,   487,
    1315,  2712,  1317,   493,  2252,   857,  1932,   487,  1738,  1972,
    1795,   491,   437,   487,  1124,   867,   868,   869,  2982,   487,
    2984,   487,   487,   491,   487,   877,   487,   167,   487,   489,
      56,   474,   475,   279,  1960,   329,   484,   177,   154,   321,
     181,   299,   272,   488,    70,   489,     3,   177,   489,   487,
     474,   475,  1685,   575,   576,   577,   144,   489,   184,   494,
     342,    25,   119,     3,   161,   270,   494,    51,   576,  3033,
     111,  3035,   129,   280,   171,   305,   358,   599,   360,   167,
     285,   339,   599,   140,    56,   145,   489,   295,    72,   611,
     477,   478,   479,   480,   481,   482,   483,   484,   481,   482,
     483,   484,  1906,   142,   107,   407,   314,   247,  1912,   317,
     478,   479,   480,   481,   482,   483,   484,   247,   244,    10,
     159,  2540,    94,  2781,  1731,  2466,   487,  2148,  2149,   270,
    1763,    22,  2551,   487,   656,   994,   438,   491,   284,  1224,
     143,  1343,  2853,  2854,   352,   353,   167,  1349,   656,   109,
    2569,  2570,  2506,   675,   107,   301,   177,   679,   680,  2500,
      70,  1363,   119,   279,  3077,  2584,   479,   480,   481,   482,
     483,   484,  2591,   233,   134,   139,  2520,   407,   279,   119,
      89,   307,   428,   705,   706,   120,   488,   489,   705,  1391,
     143,   713,    39,  2851,  1279,   275,   237,   184,   720,  3100,
    1049,   723,  1051,   725,  2489,   265,  1055,   729,   438,  3110,
    2520,   733,   238,   122,   736,  2402,   733,    39,   358,   736,
     155,  1075,   744,  2912,  1426,   141,   247,   744,   358,  1071,
     752,   234,   161,  1371,  2666,    39,  1374,   479,   480,   481,
     482,   483,   484,   201,  2598,   224,   768,  1602,  1603,   184,
    1789,     0,  2439,   103,   311,   141,    94,   244,   214,   489,
    1102,   300,   337,   221,  1312,    86,   182,  2925,     9,    10,
      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
      21,   234,    73,  1806,  1807,    76,  2188,  1826,  1577,  2061,
    1829,  1830,   144,  1444,   297,    85,   182,   216,     3,   218,
    1502,  1503,  1504,   219,  1506,  2326,   127,  2078,  1510,  1511,
    1512,  1513,  1514,  1515,   166,  2217,   216,   164,   218,  1444,
     307,   147,   169,   279,  1679,  1680,   427,   428,   328,   245,
    2988,   141,   275,   219,   155,  2174,  2066,   358,   294,  2603,
     340,   223,   164,   343,   297,   403,  1812,   169,  2119,   461,
    2122,  1831,   280,   179,  1314,  1670,   146,   274,   275,   245,
     164,  1676,     3,   210,  1931,   169,   148,   217,  2139,    10,
     141,   161,   182,   147,   221,   213,   228,  1337,  1931,  2737,
    1903,  1904,  2740,  2815,  1907,  2743,   230,   231,   210,  1859,
    2748,  3049,  1915,  1916,  1917,  1918,   222,  2127,    39,   221,
     275,   244,  1757,  1758,   254,   179,   210,   250,   277,   219,
     260,   182,  2770,   292,    55,  2773,  2555,  1732,   136,  2558,
     263,   203,   204,   205,  2778,   272,   167,  2566,   161,   239,
     240,  1970,   403,  1748,   350,   245,   177,    13,   264,  1754,
     166,  1293,   964,    19,   966,    21,    67,    88,   219,   341,
     272,   272,   216,  2474,   218,   977,   964,   979,  1310,   351,
     112,   157,   158,   355,   350,   488,   489,   989,   272,  1464,
    1465,   993,  1467,   306,   245,   216,   993,   267,   184,   317,
    2033,  1003,   320,   321,    56,   312,   313,   277,   206,  1011,
     264,   143,  2450,   488,   489,  1975,  1491,   144,    70,   488,
    1022,   142,   292,   341,   494,  1022,   247,   297,   346,   161,
     151,   152,   216,   351,   488,   489,  1038,  1039,   159,   171,
    1605,   221,  1039,   164,   135,   166,  1611,   159,   169,  2822,
     187,   188,   320,   321,  1056,   301,  1825,   487,  1392,  1056,
     350,  1063,   199,   200,   369,   370,  1063,   372,  1070,   487,
    1072,   487,   124,  1075,  2480,  2481,  2482,   345,   346,   109,
     407,   488,   489,   487,  1072,   488,   489,   487,  2614,   210,
     488,   489,   279,   488,   489,   353,   354,    56,   368,   350,
     221,  2602,   234,  1872,   156,   407,   487,   228,   494,   488,
     489,   438,   488,   489,  1796,   179,  2498,   487,    34,   487,
     318,  2503,   487,   407,   488,   489,   487,   325,   102,   181,
    2536,  1133,   144,  1135,   488,   489,   438,   358,  1140,   260,
    1142,   339,  1144,   488,   489,   488,   489,   487,  1150,   488,
     489,   272,  1140,   487,   438,   181,  1144,   488,   489,   488,
     489,   487,   489,   102,  2183,   889,   890,   468,   469,   470,
     471,   472,   473,   487,    90,   296,   488,   489,    94,   300,
     301,  2481,  2482,   235,   305,   489,   238,   489,   488,   489,
     488,   489,   487,   109,  2404,  3015,  3016,  2017,  2018,   487,
     252,  2859,  2860,   119,   487,   489,   487,   487,   329,   487,
     487,   487,   487,   487,   487,  1897,   296,   481,   270,    45,
     487,  1553,   274,   275,   487,   270,     6,     7,     8,   181,
      10,  2441,   487,    13,    14,    15,    16,   487,   487,  1571,
    1572,   177,   487,   285,   487,   487,  1578,  1929,   487,   487,
    2070,   487,  2072,   487,   487,   171,   477,   478,   479,   480,
     481,   482,   483,   484,  2059,   487,  2061,  1599,   389,   487,
     487,   487,   487,   487,   270,   487,   487,   487,  1610,   487,
     487,    56,   487,   487,  1616,   487,   407,   487,   487,   274,
     487,   487,   487,   487,   107,  1627,  1298,   487,  1300,   112,
     216,   114,   218,   389,   487,   221,  1638,  1747,   487,   487,
    1298,  2131,   487,  2133,   435,  3059,   487,   438,   234,   487,
     487,   487,   487,   487,   487,  2120,   487,  2122,   487,   487,
     143,   487,   487,   146,   487,   487,   487,   487,   487,   487,
     487,   487,  1344,   487,   487,  1347,   262,  1344,   161,   487,
    1347,   487,   487,   487,   487,   260,   487,   487,   171,   139,
     329,   487,   487,   487,   487,  1367,   181,   488,   489,   487,
     487,   487,   487,   487,   487,   383,     3,  1379,   487,   487,
     487,   297,  1379,   487,   487,  1387,   304,   487,  1390,   487,
    1392,   487,    36,  1390,   277,   274,   117,    24,   235,    26,
     224,   221,  1734,   221,   489,    32,   488,    34,   135,   493,
     489,   494,  1414,   489,   402,   489,   493,    44,   102,   306,
     489,   234,  1424,  1425,    86,   488,    68,  1424,  1425,   356,
     488,   279,   460,  1435,   488,  1437,  1438,   127,   488,   488,
      22,   494,   177,   487,   480,   488,   163,  1435,    56,  1437,
    1438,   489,   489,   167,   267,     3,  2225,  2476,  2477,   481,
     279,   389,    82,    90,    91,   489,    71,   274,  2150,  2151,
     487,   489,   280,   489,   489,   305,    10,    10,  2160,   106,
      10,    10,    10,    10,   297,    10,    34,    10,   115,  2927,
      10,   118,   119,    10,   121,    10,  1498,    10,   125,   126,
      10,    10,    10,   130,   290,   489,   221,   144,  2468,   100,
     489,   244,   488,   488,  2334,   481,   488,   488,   137,   489,
     488,   488,   141,   488,  1526,   488,   488,  1529,   488,  1526,
     487,   144,   488,   160,   161,   154,  2167,   488,   488,   488,
     488,   488,    90,    91,   489,   488,   488,   488,   488,   218,
     488,   488,   144,   488,   488,  2173,   488,     3,   106,   488,
     280,   494,  2167,   182,    10,  1567,   488,    70,   489,   494,
     118,   119,   487,   121,   494,   202,   487,   494,   488,  1567,
     207,   494,  1584,  1905,   487,   494,   494,  2269,   148,  2271,
     144,   168,  2412,    39,   494,   214,  1584,   494,   100,   218,
     219,   228,   280,   170,   276,   232,   112,   133,   170,    55,
     276,   133,   489,   161,   241,   242,   243,    55,   301,   494,
     489,   488,   249,   379,   405,   219,   245,  2236,   177,   219,
     257,   219,   488,   494,  2289,   488,   177,   487,  2078,   307,
    2322,   179,    88,   489,  2663,  2664,   144,   166,   306,   489,
     229,   169,   481,   169,   202,   224,   109,   284,   494,   207,
     279,   175,  3044,   137,   283,   487,   487,   141,   291,   296,
     171,   171,   228,   487,   221,   294,   481,   279,   487,  2119,
     154,   328,   328,   466,   232,   488,   488,   488,   488,   488,
     488,   488,   460,   241,   242,   243,   488,   488,   488,  2139,
     488,   488,   321,   488,  2473,   151,   152,   489,   182,   257,
     488,   218,   489,   218,   488,   487,   159,   493,   164,   167,
     166,    83,   187,   169,   494,   488,   345,   346,   407,   489,
     169,   350,   169,   144,   487,   487,   284,   171,   489,   488,
     214,  2510,   171,   488,   218,   219,    88,   487,   296,   329,
     128,   488,   219,   238,   488,   382,   488,   488,   219,   219,
     488,   166,   261,   151,   210,   174,  1768,   489,   442,   169,
      10,   245,   229,   169,   306,   221,   244,   404,   489,    68,
     489,   487,   228,   279,  2116,   279,   119,   119,   487,   487,
     336,   418,   487,   487,  1796,  1797,   487,   494,   487,   487,
     417,   428,   488,   488,    47,   279,   488,   426,   488,   283,
     100,   275,   489,   488,   260,   152,   489,   488,   111,   417,
     294,   169,   487,   279,   279,   279,   272,   488,   488,   488,
     487,   218,  1834,   489,   382,  2838,  2839,  2840,  1840,  1841,
     219,    83,   487,   219,  1846,   219,  1848,   321,  1850,   487,
     296,   487,   119,   171,   171,   301,   404,  1859,   219,   305,
     479,   480,   489,   354,   354,   219,   219,   219,   219,   487,
    1872,   345,   346,   171,   178,    87,   350,   301,   301,   224,
     428,  1883,  1884,   329,  1886,   488,   487,   426,   488,   302,
    1892,   488,   488,  1895,  1896,  1883,  1884,   219,  1900,  1901,
     489,   488,   488,   488,    83,   488,   100,   488,   100,  2349,
     131,   100,  2626,   188,   221,   487,   487,   219,   488,   100,
    1922,    10,  1924,   435,  1926,  1922,  1928,  2696,   100,   100,
    1932,  1933,   489,   488,   246,    84,  1924,   488,  1926,   489,
     159,   489,   219,   389,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,  1959,  1960,    87,
     178,   407,  1959,   487,   192,    10,   487,  1517,  1544,  2777,
     185,   186,   187,   188,   189,   190,   191,  2659,   193,   194,
     195,   196,   197,   198,   199,   200,   332,  1098,  2596,   435,
    1494,   488,   438,   488,  2846,  1124,    34,  2701,  2536,  1960,
     489,  1498,  1463,    34,  1935,   479,   480,  2527,  1890,  2534,
    2544,  2544,  2592,  2878,  2761,  2718,  2752,  2530,  2215,  3021,
    3030,  2870,    87,  2967,  2914,  2884,  1128,  2264,  1931,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,   488,   489,  1033,  1383,  1786,  1424,  1039,  1412,
    2142,  1772,    90,    91,  1787,   719,   391,  2938,  2799,    90,
      91,  2626,   390,   624,  1357,   794,  1568,  2749,   106,  2948,
    1817,   771,  2776,  2825,   105,   106,  3110,  2656,   109,  1792,
     118,   119,  1075,   121,  1549,  3093,   430,   118,   119,  2696,
     121,  1871,   768,  2505,  2504,  2473,    26,  2099,  3076,  1133,
     981,   389,   167,   736,  3107,  2437,   422,    87,    38,   367,
     351,    41,   177,  2923,    44,  2141,    46,  1149,  2932,  2996,
      50,  3010,  2510,   161,  2753,    55,   989,  1861,  2222,  2495,
     161,  2694,  1429,    63,   384,  2836,  1142,  1063,    68,    69,
    2142,   707,  2200,  1057,  1347,  2142,  2841,    -1,    -1,    79,
      -1,   216,    -1,    83,    -1,    -1,    86,    -1,  2160,    -1,
      -1,   226,   227,    -1,   202,    -1,    -1,    -1,    -1,   207,
      -1,   202,    -1,    -1,    -1,    -1,   207,    -1,    -1,    -1,
      -1,    -1,   247,   424,    -1,    -1,    -1,   167,    -1,    -1,
      -1,    -1,    -1,    -1,   232,    -1,    -1,   177,  2200,    -1,
      -1,   232,    -1,   241,   242,   243,    -1,   448,   138,    -1,
     241,   242,   243,  2215,    -1,    -1,    -1,    -1,   148,   257,
    2222,  2990,    -1,    -1,   465,    -1,   257,  2215,    -1,    -1,
      -1,   161,    -1,    -1,    -1,    -1,   216,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   310,   284,    -1,   489,    -1,
      -1,    -1,  2254,   284,    -1,    -1,    -1,    -1,   296,  2261,
      -1,    -1,    -1,    -1,    -1,   296,  2268,   247,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   519,    -1,
    2268,    -1,    -1,    -1,    -1,    -1,   317,  2289,    -1,  3003,
    3004,    -1,  3006,   358,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  2303,    -1,  2912,  2306,    -1,   236,  3076,  2310,  2306,
    2312,    -1,    -1,    -1,    -1,  2312,   246,  2882,   248,  2884,
    3034,    -1,    -1,    -1,  3093,    -1,    -1,    -1,    -1,   570,
     571,   572,   573,   574,    -1,  3039,   266,    -1,    -1,    -1,
    3054,    -1,  3056,  3057,   382,    -1,    -1,    -1,    -1,    -1,
      -1,   382,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   371,
     372,   373,   374,   375,    -1,    -1,   404,    -1,   298,    -1,
      -1,    -1,    -1,   404,    -1,    -1,    -1,    -1,   358,    -1,
      -1,    -1,  2856,  2857,  2858,    -1,   398,   399,   400,   401,
     428,    -1,    -1,    -1,    -1,    -1,    -1,   428,    -1,    -1,
    2892,   413,   414,   415,   416,    -1,    -1,   419,    -1,    -1,
      -1,    -1,   477,   478,   479,   480,   481,   482,   483,   484,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   492,   440,   441,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3003,  3004,
      -1,  3006,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     462,   463,  2454,    -1,    -1,    -1,    -1,    -1,   489,  2461,
      -1,    -1,    -1,    -1,    -1,    -1,  2454,    -1,    -1,  3034,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2809,    -1,    -1,
      -1,    -1,    -1,  2485,    -1,    -1,    -1,  2489,  2980,  3054,
      -1,  3056,  3057,    -1,    -1,    -1,    -1,   477,   478,   479,
     480,   481,   482,   483,   484,    -1,    -1,    -1,  2510,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2520,    -1,
      -1,    -1,    -1,    -1,    -1,  2527,    -1,    -1,   769,    -1,
      -1,   772,    -1,    -1,  2536,    -1,    -1,   778,   779,    -1,
     781,   782,   783,   784,    -1,    -1,    -1,    -1,    -1,    -1,
     791,   792,   793,    -1,    -1,    -1,    -1,    -1,   799,    -1,
     801,   802,   803,    -1,    -1,    -1,   807,    -1,    -1,    -1,
     811,    -1,   813,    -1,   815,    -1,   817,    -1,    -1,    -1,
      -1,    -1,    -1,   824,   825,    -1,   827,    -1,    -1,   830,
     831,   832,   833,   834,   835,   836,   837,   838,   839,  2601,
     841,   842,   843,   844,   845,   846,    -1,    -1,    -1,    -1,
     851,   852,  2614,   854,   855,   856,    -1,   858,   859,   860,
     861,   862,   863,   864,   865,   866,  2614,    -1,    -1,   870,
      -1,   872,   873,   874,   875,   876,    -1,    -1,   879,   880,
     881,   882,   883,   884,   885,   886,   887,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   895,    -1,    -1,    -1,    -1,   900,
     901,   902,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   910,
      -1,    -1,    -1,   914,    -1,   916,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   924,   925,   926,   927,    -1,    -1,    -1,
     931,   932,   933,   934,    -1,   936,   937,   938,   939,   940,
     941,   942,   943,   944,    -1,    -1,    -1,    -1,    -1,    -1,
    2712,     9,    10,    11,    12,    13,    14,    15,    16,    17,
      18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,     5,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   989,    -1,
    2752,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    26,
      27,    -1,    -1,    30,  2752,    32,    -1,    -1,    35,    -1,
      -1,    38,  2774,    -1,    41,    -1,    43,    44,    -1,    46,
      -1,    48,    49,    50,    -1,    52,    53,    -1,    55,    87,
      -1,    -1,    -1,    60,    61,    62,    -1,    64,    65,    -1,
      67,    68,    69,    70,    -1,    -1,    73,    -1,    -1,    76,
    2812,    -1,    -1,    80,    81,  2812,    83,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    92,    -1,    -1,  2830,    26,
      -1,    -1,    -1,    -1,    -1,   102,    -1,    -1,    -1,   106,
     107,    38,    -1,    -1,    41,    -1,    -1,    44,    -1,    46,
      -1,  2853,  2854,    50,    -1,   122,   123,    -1,    55,    -1,
      -1,    -1,    -1,    -1,    -1,  2867,    63,    -1,    -1,   167,
      -1,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,   177,
      -1,   148,    79,    -1,    -1,    -1,    83,    -1,    -1,    86,
      -1,    -1,    -1,    -1,    -1,    -1,  1137,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  2914,    -1,    -1,    -1,    -1,    -1,   216,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,
      -1,    -1,    26,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   138,    -1,    -1,    38,    -1,  2948,    41,    -1,   247,
      44,   148,    46,    -1,    -1,    -1,    50,    -1,    -1,    -1,
      -1,    55,    -1,    -1,   161,    -1,    -1,    -1,    -1,    63,
      -1,    -1,    -1,    -1,    68,    69,    -1,    -1,    -1,    -1,
      -1,    -1,   249,    -1,    -1,    79,   253,    -1,   255,    83,
      -1,    -1,    -1,   260,    -1,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
      -1,    -1,   310,  3015,  3016,    -1,  3018,    -1,    -1,    -1,
      -1,    -1,    -1,    34,    -1,    -1,  1267,  1268,  1269,  3031,
      -1,    -1,    -1,   300,    -1,    -1,    -1,    -1,    -1,   236,
      -1,    -1,    -1,    -1,   138,    -1,    -1,    -1,  3050,   246,
      -1,   248,    -1,    -1,   148,    -1,    -1,    -1,  1299,    -1,
     358,    -1,  1303,    -1,    -1,    -1,    -1,   161,    -1,   266,
     337,   338,    -1,    87,    -1,  1316,    -1,    -1,    -1,    90,
      91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  3093,    -1,    -1,   105,   106,    -1,  1338,   109,    -1,
      -1,   298,    -1,    -1,    -1,    -1,    -1,   118,   119,  1350,
     121,     9,    10,    11,    12,    13,    14,    15,    16,    17,
      18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,   236,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     161,    -1,   246,   167,   248,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,
     437,    -1,   266,    -1,    -1,    -1,    -1,    -1,    -1,   477,
     478,   479,   480,   481,   482,   483,   484,    -1,    -1,    87,
      -1,   202,    -1,    -1,   492,    -1,   207,    -1,    -1,    -1,
      -1,    -1,   216,    -1,   298,    -1,    -1,    87,    -1,    -1,
      -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,    -1,
     487,   232,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     241,   242,   243,   247,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   257,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,
      -1,    -1,    -1,   284,    -1,    -1,    -1,    -1,    -1,   177,
      -1,    -1,    -1,    -1,    -1,   296,    -1,   167,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   310,   177,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   317,    -1,    -1,  1550,
      -1,  1552,    -1,    -1,    -1,  1556,    -1,    -1,   216,    -1,
      -1,  1562,  1563,    -1,    -1,    -1,    -1,    -1,   226,   227,
      -1,    -1,    -1,  1574,    -1,  1576,   216,    -1,    -1,  1580,
    1581,    -1,    -1,    -1,   358,    -1,   226,   227,  1589,   247,
      -1,  1592,    -1,    -1,    -1,    -1,  1597,    -1,    -1,  1600,
      -1,    -1,    -1,    -1,    -1,    -1,  1607,   247,  1609,    -1,
      -1,   382,  1613,  1614,  1615,    -1,    -1,    -1,  1619,    -1,
    1621,    -1,  1623,    -1,  1625,    -1,    -1,    -1,  1629,    -1,
    1631,    -1,  1633,   404,  1635,    -1,  1637,    -1,  1639,    -1,
      -1,    -1,    -1,  1644,    -1,  1646,    -1,  1648,    -1,    -1,
      -1,    -1,   310,    -1,    -1,  1656,  1657,   428,  1659,    -1,
    1661,  1662,    -1,    -1,  1665,  1666,  1667,  1668,  1669,    -1,
     310,  1672,  1673,  1674,  1675,    -1,  1677,  1678,  1679,  1680,
    1681,  1682,  1683,  1684,  1685,    -1,  1687,  1688,    -1,  1690,
      -1,  1692,  1693,  1694,  1695,  1696,    -1,  1698,    -1,  1700,
     358,  1702,    -1,   477,   478,   479,   480,   481,   482,   483,
     484,    -1,    -1,  1714,   488,   489,  1717,  1718,   358,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,    -1,    -1,    -1,    -1,    -1,    -1,  1739,  1740,
      -1,    -1,  1743,  1744,  1745,  1746,    -1,    -1,    -1,  1750,
    1751,  1752,  1753,    -1,  1755,  1756,  1757,  1758,  1759,  1760,
    1761,  1762,  1763,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,     9,    10,    11,    12,    13,    14,    15,    16,    17,
      18,    19,    20,    21,    -1,    -1,    -1,    87,     9,    10,
      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
      21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,
     478,   479,   480,   481,   482,   483,   484,    -1,    -1,    -1,
     488,   489,    -1,    -1,    -1,    -1,    -1,   477,   478,   479,
     480,   481,   482,   483,   484,    -1,    -1,    -1,   488,   489,
      -1,    -1,  1853,    -1,    -1,    -1,    -1,    -1,    -1,    87,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    87,   167,  1879,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,   167,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,
      -1,    -1,    -1,    -1,    -1,    -1,   167,   247,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,
      -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  1986,    -1,    -1,   216,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,
      -1,    -1,    -1,    -1,    -1,   216,    -1,    -1,    -1,    -1,
    2011,   301,    -1,    -1,    -1,   226,   227,    -1,    -1,   247,
     310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2050,
      -1,    -1,    -1,   167,    -1,    -1,    -1,    -1,    -1,  2060,
      -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,   358,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  2082,   310,    -1,    -1,    -1,    -1,  2088,    -1,  2090,
      -1,  2092,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   310,
      -1,    -1,   216,    -1,    -1,  2106,    -1,    -1,  2109,    -1,
      -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,    -1,
    2121,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     358,    -1,    -1,   247,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,   358,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,   479,
     480,   481,   482,   483,   484,    -1,   310,    -1,    -1,   489,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2210,
      -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  2223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  2237,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   358,    -1,    -1,    -1,  2249,   477,
     478,   479,   480,   481,   482,   483,   484,    -1,    -1,    -1,
     488,   489,    -1,    -1,    -1,    -1,   477,   478,   479,   480,
     481,   482,   483,   484,    -1,    -1,    -1,   488,   489,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,   167,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  2333,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   226,   227,  2354,    -1,    -1,    -1,    87,    -1,  2360,
    2361,    -1,  2363,   477,   478,   479,   480,   481,   482,   483,
     484,  2372,   247,    -1,   488,   489,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  2384,    -1,    -1,    -1,  2388,    -1,    -1,
    2391,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  2405,    -1,    -1,    -1,  2409,    -1,
      -1,    -1,    -1,  2414,    -1,    -1,  2417,  2418,    -1,    -1,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,    -1,    -1,   310,    -1,   167,    -1,    -1,
      -1,  2442,    -1,    -1,    -1,    -1,    -1,   177,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,     9,    10,    11,    12,    13,    14,    15,    16,    17,
      18,    19,    20,    21,    34,    -1,    -1,  2478,    -1,    -1,
      -1,    -1,    -1,   358,    -1,    -1,   216,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    87,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      90,    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,
      -1,    -1,    -1,    -1,    -1,   105,   106,    -1,    -1,   109,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
      -1,   121,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,   167,    -1,
     310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   161,   477,   478,   479,   480,   481,   482,   483,   484,
      -1,    -1,    -1,   488,   489,    -1,    -1,   177,    -1,   167,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,   358,   177,
      -1,    -1,  2633,    -1,   144,    -1,    -1,   226,   227,    -1,
      -1,    -1,   202,    -1,    -1,    -1,  2647,   207,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,   247,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,   216,    -1,
      -1,    -1,   232,    -1,    -1,    -1,    -1,    -1,   226,   227,
      -1,   241,   242,   243,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  2694,    -1,    -1,    -1,   257,    -1,   247,
      -1,    -1,    -1,  2704,    -1,    -1,   216,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,    -1,
      -1,   310,    -1,    -1,   284,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   296,   247,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,   479,
     480,   481,   482,   483,   484,    -1,    -1,   317,   488,   489,
      -1,    -1,   310,    -1,    -1,    -1,    -1,    -1,    -1,   358,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  2786,    -1,    -1,    -1,    -1,
      -1,    -1,  2793,    -1,    -1,  2796,    -1,    -1,    -1,    -1,
     310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     358,    -1,  2813,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   382,    -1,    -1,  2826,    -1,  2828,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   404,    -1,    -1,    -1,   358,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   428,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,
     479,   480,   481,   482,   483,   484,    -1,    -1,    -1,   488,
     489,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  2926,    -1,   487,    -1,   477,
     478,   479,   480,   481,   482,   483,   484,    -1,    -1,    -1,
     488,   489,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,   479,
     480,   481,   482,   483,   484,     4,     5,     6,     7,     8,
      -1,    -1,    -1,    12,    -1,    -1,    -1,    -1,    -1,    -1,
      19,    -1,  2993,    -1,    -1,    -1,    25,  2998,    -1,    28,
      29,    30,    31,    -1,    33,    34,    35,    36,    37,    -1,
      -1,    40,    -1,  3014,    43,    -1,    45,    46,    47,    48,
      49,    50,    51,    -1,    -1,    54,    -1,    56,    57,    58,
      59,    -1,    -1,    62,    63,    64,    65,    66,    67,    -1,
      -1,    70,    71,    72,    73,    74,    75,    76,    77,    78,
      79,    80,    -1,    82,    -1,    84,    85,    -1,    -1,    -1,
      -1,    90,    91,    92,    93,    94,    95,    96,    97,    98,
      99,    -1,   101,   102,    -1,   104,   105,   106,    -1,   108,
      -1,   110,    -1,    -1,   113,    -1,   115,   116,    -1,   118,
     119,    -1,   121,    -1,    -1,   124,   125,   126,    -1,   128,
     129,   130,  3103,    -1,   133,   134,   135,   136,   137,   138,
     139,   140,   141,    -1,    -1,    -1,   145,    -1,   147,    -1,
     149,   150,    -1,    -1,   153,   154,    -1,   156,   157,   158,
      -1,   160,    -1,   162,    -1,    -1,   165,    -1,    -1,   168,
      -1,    -1,    -1,   172,   173,   174,   175,    -1,    -1,    -1,
     179,   180,   181,   182,    -1,    -1,   185,   186,   187,   188,
     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
     209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
     219,   220,    -1,   222,   223,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   231,   232,   233,    -1,    -1,   236,   237,   238,
     239,   240,   241,   242,   243,    -1,   245,    -1,    -1,   248,
      -1,   250,    -1,   252,   253,    -1,    -1,   256,   257,   258,
     259,    -1,    -1,   262,   263,   264,   265,   266,    -1,    -1,
      -1,   270,   271,    -1,   273,    -1,    -1,   276,   277,    -1,
     279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
     289,   290,    -1,   292,   293,   294,   295,    -1,    -1,    -1,
     299,    -1,    -1,   302,   303,   304,    -1,    -1,    -1,    -1,
     309,    -1,   311,   312,   313,   314,    -1,    -1,   317,   318,
     319,   320,   321,    -1,    -1,   324,   325,    -1,   327,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,   338,
     339,    -1,   341,    -1,   343,   344,   345,   346,    -1,    -1,
      -1,   350,    -1,    -1,    -1,    -1,    -1,   356,   357,    -1,
     359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
     369,   370,    -1,    -1,    -1,    -1,   375,   376,   377,   378,
      -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
      -1,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
      -1,    -1,   401,   402,   403,   404,   405,   406,   407,   408,
     409,   410,   411,   412,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
     429,   430,   431,   432,   433,   434,    -1,   436,   437,   438,
     439,   440,    -1,   442,   443,   444,   445,   446,   447,   448,
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
     459,    -1,   461,    -1,   463,   464,   465,   466,    -1,    -1,
     469,    -1,   471,    -1,   473,   474,   475,    -1,    -1,    -1,
     479,   480,    -1,    -1,    -1,    -1,   485,    -1,   487,    -1,
      -1,   490,   491,    -1,   493,   494,     4,     5,     6,     7,
       8,    -1,    -1,    -1,    12,    -1,    -1,    -1,    -1,    -1,
      -1,    19,    -1,    -1,    -1,    -1,    -1,    25,    -1,    -1,
      28,    29,    30,    31,    -1,    33,    34,    35,    36,    37,
      -1,    -1,    40,    -1,    -1,    43,    -1,    45,    46,    47,
      48,    49,    50,    51,    -1,    -1,    54,    -1,    56,    57,
      58,    59,    -1,    -1,    62,    63,    64,    65,    66,    67,
      -1,    -1,    70,    71,    72,    73,    74,    75,    76,    77,
      78,    79,    80,    -1,    82,    -1,    84,    85,    86,    -1,
      -1,    -1,    90,    91,    92,    93,    94,    95,    96,    97,
      -1,    99,    -1,   101,   102,    -1,   104,   105,   106,    -1,
     108,    -1,   110,    -1,    -1,   113,    -1,   115,   116,    -1,
     118,   119,    -1,   121,    -1,    -1,   124,   125,   126,    -1,
     128,   129,   130,    -1,    -1,   133,   134,   135,   136,   137,
     138,   139,   140,   141,    -1,    -1,    -1,   145,    -1,   147,
      -1,   149,   150,    -1,    -1,   153,   154,    -1,   156,   157,
     158,    -1,   160,    -1,   162,    -1,    -1,   165,    -1,    -1,
     168,    -1,    -1,    -1,    -1,   173,   174,   175,    -1,    -1,
      -1,   179,   180,   181,   182,    -1,    -1,   185,   186,   187,
     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
     208,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
     218,   219,   220,   221,   222,   223,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   231,   232,   233,    -1,    -1,   236,   237,
     238,   239,   240,   241,   242,   243,    -1,   245,    -1,    -1,
     248,    -1,   250,    -1,   252,   253,    -1,    -1,   256,   257,
     258,   259,    -1,    -1,   262,   263,   264,   265,   266,    -1,
      -1,    -1,   270,   271,    -1,   273,    -1,    -1,   276,   277,
      -1,   279,    -1,    -1,   282,   283,   284,   285,   286,   287,
     288,   289,   290,    -1,   292,   293,   294,   295,    -1,    -1,
      -1,   299,    -1,    -1,   302,   303,   304,    -1,    -1,    -1,
      -1,   309,    -1,   311,   312,   313,   314,    -1,    -1,   317,
     318,   319,   320,   321,    -1,    -1,   324,   325,    -1,   327,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,
     338,   339,    -1,   341,    -1,   343,   344,   345,   346,    -1,
      -1,    -1,   350,    -1,    -1,    -1,    -1,    -1,   356,   357,
      -1,   359,   360,   361,   362,   363,   364,   365,   366,   367,
     368,   369,   370,    -1,    -1,    -1,    -1,   375,   376,   377,
     378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
     388,    -1,   390,   391,   392,   393,   394,   395,   396,   397,
      -1,    -1,    -1,   401,   402,   403,   404,   405,   406,   407,
     408,   409,   410,   411,   412,   413,    -1,    -1,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
     428,   429,   430,   431,   432,   433,   434,    -1,   436,   437,
     438,   439,   440,    -1,   442,   443,   444,   445,   446,   447,
     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
     458,   459,    -1,   461,    -1,   463,   464,   465,   466,    -1,
      -1,   469,    -1,   471,    -1,   473,   474,   475,    -1,    -1,
      -1,   479,   480,    -1,    -1,    -1,    -1,   485,    -1,   487,
      -1,    -1,   490,   491,    -1,   493,   494,     4,     5,     6,
       7,     8,    -1,    -1,    -1,    12,    -1,    -1,    -1,    -1,
      -1,    -1,    19,    -1,    -1,    -1,    -1,    -1,    25,    -1,
      -1,    28,    29,    30,    31,    -1,    33,    34,    35,    36,
      37,    -1,    -1,    40,    -1,    -1,    43,    -1,    45,    46,
      47,    48,    49,    50,    51,    -1,    -1,    54,    -1,    56,
      57,    58,    59,    -1,    -1,    62,    63,    64,    65,    66,
      67,    68,    -1,    70,    71,    72,    73,    74,    75,    76,
      77,    78,    79,    80,    -1,    82,    -1,    84,    85,    -1,
      -1,    -1,    -1,    90,    91,    92,    93,    94,    95,    96,
      97,    -1,    99,    -1,   101,   102,    -1,   104,   105,   106,
      -1,   108,    -1,   110,    -1,    -1,   113,    -1,   115,   116,
      -1,   118,   119,    -1,   121,    -1,    -1,   124,   125,   126,
      -1,   128,   129,   130,    -1,    -1,   133,   134,   135,   136,
     137,   138,   139,   140,   141,    -1,    -1,    -1,   145,    -1,
     147,    -1,   149,   150,    -1,    -1,   153,   154,    -1,   156,
     157,   158,    -1,   160,    -1,   162,    -1,    -1,   165,    -1,
      -1,   168,    -1,    -1,    -1,    -1,   173,   174,   175,    -1,
      -1,    -1,   179,   180,   181,   182,    -1,    -1,   185,   186,
     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
     207,   208,   209,    -1,   211,   212,   213,   214,   215,   216,
     217,   218,   219,   220,    -1,   222,   223,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   231,   232,   233,    -1,    -1,   236,
     237,   238,   239,   240,   241,   242,   243,    -1,   245,    -1,
      -1,   248,    -1,   250,    -1,   252,   253,    -1,    -1,   256,
     257,   258,   259,    -1,    -1,   262,   263,   264,   265,   266,
      -1,    -1,    -1,   270,   271,    -1,   273,    -1,    -1,   276,
     277,    -1,   279,    -1,    -1,   282,   283,   284,   285,   286,
     287,   288,   289,   290,    -1,   292,   293,   294,   295,    -1,
      -1,    -1,   299,    -1,    -1,   302,   303,   304,    -1,    -1,
      -1,    -1,   309,    -1,   311,   312,   313,   314,    -1,    -1,
     317,   318,   319,   320,   321,    -1,    -1,   324,   325,    -1,
     327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     337,   338,   339,    -1,   341,    -1,   343,   344,   345,   346,
      -1,    -1,    -1,   350,    -1,    -1,    -1,    -1,    -1,   356,
     357,    -1,   359,   360,   361,   362,   363,   364,   365,   366,
     367,   368,   369,   370,    -1,    -1,    -1,    -1,   375,   376,
     377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
     387,   388,    -1,   390,   391,   392,   393,   394,   395,   396,
     397,    -1,    -1,    -1,   401,   402,   403,   404,   405,   406,
     407,   408,   409,   410,   411,   412,   413,    -1,    -1,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,   428,   429,   430,   431,   432,   433,   434,    -1,   436,
     437,   438,   439,   440,    -1,   442,   443,   444,   445,   446,
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
     457,   458,   459,    -1,   461,    -1,   463,   464,   465,   466,
      -1,    -1,   469,    -1,   471,    -1,   473,   474,   475,    -1,
      -1,    -1,   479,   480,    -1,    -1,    -1,    -1,   485,    -1,
     487,    -1,    -1,   490,   491,    -1,   493,   494,     4,     5,
       6,     7,     8,    -1,    -1,    -1,    12,    -1,    -1,    -1,
      -1,    -1,    -1,    19,    -1,    -1,    -1,    -1,    -1,    25,
      -1,    -1,    28,    29,    30,    31,    -1,    33,    34,    35,
      36,    37,    -1,    -1,    40,    -1,    -1,    43,    -1,    45,
      46,    47,    48,    49,    50,    51,    -1,    -1,    54,    -1,
      56,    57,    58,    59,    -1,    -1,    62,    63,    64,    65,
      66,    67,    -1,    -1,    70,    71,    72,    73,    74,    75,
      76,    77,    78,    79,    80,    -1,    82,    -1,    84,    85,
      -1,    -1,    -1,    -1,    90,    91,    92,    93,    94,    95,
      96,    97,    -1,    99,    -1,   101,   102,    -1,   104,   105,
     106,    -1,   108,    -1,   110,    -1,    -1,   113,    -1,   115,
     116,    -1,   118,   119,    -1,   121,    -1,    -1,   124,   125,
     126,    -1,   128,   129,   130,    -1,    -1,   133,   134,   135,
     136,   137,   138,   139,   140,   141,    -1,    -1,    -1,   145,
      -1,   147,    -1,   149,   150,    -1,    -1,   153,   154,    -1,
     156,   157,   158,    -1,   160,    -1,   162,    -1,    -1,   165,
      -1,    -1,   168,    -1,    -1,    -1,    -1,   173,   174,   175,
      -1,    -1,    -1,   179,   180,   181,   182,    -1,    -1,   185,
     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
     206,   207,   208,   209,    -1,   211,   212,   213,   214,   215,
     216,   217,   218,   219,   220,    -1,   222,   223,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   231,   232,   233,    -1,    -1,
     236,   237,   238,   239,   240,   241,   242,   243,    -1,   245,
      -1,    -1,   248,    -1,   250,    -1,   252,   253,    -1,    -1,
     256,   257,   258,   259,    -1,    -1,   262,   263,   264,   265,
     266,    -1,    -1,    -1,   270,   271,    -1,   273,    -1,    -1,
     276,   277,    -1,   279,    -1,    -1,   282,   283,   284,   285,
     286,   287,   288,   289,   290,    -1,   292,   293,   294,   295,
      -1,    -1,    -1,   299,    -1,    -1,   302,   303,   304,    -1,
      -1,    -1,    -1,   309,    -1,   311,   312,   313,   314,    -1,
      -1,   317,   318,   319,   320,   321,    -1,    -1,   324,   325,
      -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   337,   338,   339,    -1,   341,    -1,   343,   344,   345,
     346,    -1,    -1,    -1,   350,    -1,    -1,    -1,    -1,    -1,
     356,   357,    -1,   359,   360,   361,   362,   363,   364,   365,
     366,   367,   368,   369,   370,    -1,    -1,    -1,    -1,   375,
     376,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
     386,   387,   388,    -1,   390,   391,   392,   393,   394,   395,
     396,   397,    -1,    -1,    -1,   401,   402,   403,   404,   405,
     406,   407,   408,   409,   410,   411,   412,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   428,   429,   430,   431,   432,   433,   434,    -1,
     436,   437,   438,   439,   440,    -1,   442,   443,   444,   445,
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
     456,   457,   458,   459,    -1,   461,    -1,   463,   464,   465,
     466,    -1,    -1,   469,    -1,   471,    -1,   473,   474,   475,
      -1,    -1,    -1,   479,   480,    -1,    -1,    -1,    -1,   485,
      -1,   487,   488,    -1,   490,   491,    -1,   493,   494,     4,
       5,     6,     7,     8,    -1,    -1,    -1,    12,    -1,    -1,
      -1,    -1,    -1,    -1,    19,    -1,    -1,    -1,    -1,    -1,
      25,    -1,    -1,    28,    29,    30,    31,    -1,    33,    34,
      35,    36,    37,    -1,    -1,    40,    -1,    -1,    43,    -1,
      45,    46,    47,    48,    49,    50,    51,    -1,    -1,    54,
      -1,    56,    57,    58,    59,    -1,    -1,    62,    63,    64,
      65,    66,    67,    -1,    -1,    70,    71,    72,    73,    74,
      75,    76,    77,    78,    79,    80,    -1,    82,    -1,    84,
      85,    -1,    -1,    -1,    -1,    90,    91,    92,    93,    94,
      95,    96,    97,    -1,    99,    -1,   101,   102,    -1,   104,
     105,   106,    -1,   108,    -1,   110,    -1,    -1,   113,    -1,
     115,   116,    -1,   118,   119,    -1,   121,    -1,    -1,   124,
     125,   126,    -1,   128,   129,   130,    -1,    -1,   133,   134,
     135,   136,   137,   138,   139,   140,   141,    -1,    -1,    -1,
     145,    -1,   147,    -1,   149,   150,    -1,    -1,   153,   154,
      -1,   156,   157,   158,    -1,   160,    -1,   162,    -1,    -1,
     165,    -1,    -1,   168,    -1,    -1,    -1,    -1,   173,   174,
     175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,    -1,
     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,    -1,   211,   212,   213,   214,
     215,   216,   217,   218,   219,   220,    -1,   222,   223,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   231,   232,   233,    -1,
      -1,   236,   237,   238,   239,   240,   241,   242,   243,    -1,
     245,    -1,    -1,   248,    -1,   250,    -1,   252,   253,    -1,
      -1,   256,   257,   258,   259,    -1,    -1,   262,   263,   264,
     265,   266,    -1,    -1,    -1,   270,   271,    -1,   273,    -1,
      -1,   276,   277,    -1,   279,    -1,    -1,   282,   283,   284,
     285,   286,   287,   288,   289,   290,    -1,   292,   293,   294,
     295,    -1,    -1,    -1,   299,    -1,    -1,   302,   303,   304,
      -1,    -1,    -1,    -1,   309,    -1,   311,   312,   313,   314,
      -1,    -1,   317,   318,   319,   320,   321,    -1,    -1,   324,
     325,    -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   337,   338,   339,    -1,   341,    -1,   343,   344,
     345,   346,    -1,    -1,    -1,   350,    -1,    -1,    -1,    -1,
      -1,   356,   357,    -1,   359,   360,   361,   362,   363,   364,
     365,   366,   367,   368,   369,   370,    -1,    -1,    -1,    -1,
     375,   376,   377,   378,    -1,   380,   381,   382,   383,   384,
     385,   386,   387,   388,    -1,   390,   391,   392,   393,   394,
     395,   396,   397,    -1,    -1,    -1,   401,   402,   403,   404,
     405,   406,   407,   408,   409,   410,   411,   412,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
      -1,   436,   437,   438,   439,   440,    -1,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
     455,   456,   457,   458,   459,    -1,   461,    -1,   463,   464,
     465,   466,    -1,    -1,   469,    -1,   471,    -1,   473,   474,
     475,    -1,    -1,    -1,   479,   480,    -1,    -1,    -1,    -1,
     485,    -1,   487,   488,    -1,   490,   491,    -1,   493,   494,
       4,     5,     6,     7,     8,    -1,    -1,    -1,    12,    -1,
      -1,    -1,    -1,    -1,    -1,    19,    -1,    -1,    -1,    -1,
      -1,    25,    -1,    -1,    28,    29,    30,    31,    -1,    33,
      34,    35,    36,    37,    -1,    -1,    40,    -1,    -1,    43,
      -1,    45,    46,    47,    48,    49,    50,    51,    -1,    -1,
      54,    -1,    56,    57,    58,    59,    -1,    -1,    62,    63,
      64,    65,    66,    67,    -1,    -1,    70,    71,    72,    73,
      74,    75,    76,    77,    78,    79,    80,    -1,    82,    -1,
      84,    85,    -1,    -1,    -1,    -1,    90,    91,    92,    93,
      94,    95,    96,    97,    -1,    99,    -1,   101,   102,    -1,
     104,   105,   106,    -1,   108,    -1,   110,    -1,    -1,   113,
      -1,   115,   116,    -1,   118,   119,    -1,   121,    -1,    -1,
     124,   125,   126,    -1,   128,   129,   130,    -1,    -1,   133,
     134,   135,   136,   137,   138,   139,   140,   141,    -1,    -1,
      -1,   145,    -1,   147,    -1,   149,   150,    -1,    -1,   153,
     154,    -1,   156,   157,   158,    -1,   160,    -1,   162,    -1,
      -1,   165,    -1,    -1,   168,    -1,    -1,    -1,    -1,   173,
     174,   175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,
      -1,   185,   186,   187,   188,   189,   190,   191,   192,   193,
     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
     204,   205,   206,   207,   208,   209,    -1,   211,   212,   213,
     214,   215,   216,   217,   218,   219,   220,    -1,   222,   223,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   231,   232,   233,
      -1,    -1,   236,   237,   238,   239,   240,   241,   242,   243,
      -1,   245,    -1,    -1,   248,    -1,   250,    -1,   252,   253,
      -1,    -1,   256,   257,   258,   259,    -1,    -1,   262,   263,
     264,   265,   266,    -1,    -1,    -1,   270,   271,    -1,   273,
      -1,    -1,   276,   277,    -1,   279,    -1,    -1,   282,   283,
     284,   285,   286,   287,   288,   289,   290,    -1,   292,   293,
     294,   295,    -1,    -1,    -1,   299,    -1,    -1,   302,   303,
     304,    -1,    -1,    -1,    -1,   309,    -1,   311,   312,   313,
     314,    -1,    -1,   317,   318,   319,   320,   321,    -1,    -1,
     324,   325,    -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   337,   338,   339,    -1,   341,    -1,   343,
     344,   345,   346,    -1,    -1,    -1,   350,    -1,    -1,    -1,
      -1,    -1,   356,   357,    -1,   359,   360,   361,   362,   363,
     364,   365,   366,   367,   368,   369,   370,    -1,    -1,    -1,
      -1,   375,   376,   377,   378,    -1,   380,   381,   382,   383,
     384,   385,   386,   387,   388,    -1,   390,   391,   392,   393,
     394,   395,   396,   397,    -1,    -1,    -1,   401,   402,   403,
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
      -1,    -1,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
     434,    -1,   436,   437,   438,   439,   440,    -1,   442,   443,
     444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
     454,   455,   456,   457,   458,   459,    -1,   461,    -1,   463,
     464,   465,   466,    -1,    -1,   469,    -1,   471,    -1,   473,
     474,   475,    -1,    -1,    -1,   479,   480,    -1,    -1,    -1,
      -1,   485,    -1,   487,   488,    -1,   490,   491,    -1,   493,
     494,     4,     5,     6,     7,     8,    -1,    -1,    -1,    12,
      -1,    -1,    -1,    -1,    -1,    -1,    19,    -1,    -1,    -1,
      -1,    -1,    25,    -1,    -1,    28,    29,    30,    31,    -1,
      33,    34,    35,    36,    37,    -1,    -1,    40,    -1,    -1,
      43,    -1,    45,    46,    47,    48,    49,    50,    51,    -1,
      -1,    54,    -1,    56,    57,    58,    59,    -1,    -1,    62,
      63,    64,    65,    66,    67,    -1,    -1,    70,    71,    72,
      73,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
      -1,    84,    85,    -1,    -1,    -1,    -1,    90,    91,    92,
      93,    94,    95,    96,    97,    -1,    99,    -1,   101,   102,
      -1,   104,   105,   106,    -1,   108,    -1,   110,    -1,    -1,
     113,    -1,   115,   116,    -1,   118,   119,    -1,   121,    -1,
      -1,   124,   125,   126,    -1,   128,   129,   130,    -1,    -1,
     133,   134,   135,   136,   137,   138,   139,   140,   141,    -1,
      -1,    -1,   145,    -1,   147,    -1,   149,   150,    -1,    -1,
     153,   154,    -1,   156,   157,   158,    -1,   160,    -1,   162,
      -1,    -1,   165,    -1,    -1,   168,    -1,    -1,    -1,    -1,
     173,   174,   175,    -1,    -1,    -1,   179,   180,   181,   182,
      -1,    -1,   185,   186,   187,   188,   189,   190,   191,   192,
     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
     203,   204,   205,   206,   207,   208,   209,    -1,   211,   212,
     213,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
     223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   231,   232,
     233,    -1,    -1,   236,   237,   238,   239,   240,   241,   242,
     243,    -1,   245,    -1,    -1,   248,    -1,   250,    -1,   252,
     253,    -1,    -1,   256,   257,   258,   259,    -1,    -1,   262,
     263,   264,   265,   266,    -1,    -1,    -1,   270,   271,    -1,
     273,    -1,    -1,   276,   277,    -1,   279,    -1,    -1,   282,
     283,   284,   285,   286,   287,   288,   289,   290,    -1,   292,
     293,   294,   295,    -1,    -1,    -1,   299,    -1,    -1,   302,
     303,   304,    -1,    -1,    -1,    -1,   309,    -1,   311,   312,
     313,   314,    -1,    -1,   317,   318,   319,   320,   321,    -1,
      -1,   324,   325,    -1,   327,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   337,   338,   339,    -1,   341,    -1,
     343,   344,   345,   346,    -1,    -1,    -1,   350,    -1,    -1,
      -1,    -1,    -1,   356,   357,    -1,   359,   360,   361,   362,
     363,   364,   365,   366,   367,   368,   369,   370,    -1,    -1,
      -1,    -1,   375,   376,   377,   378,    -1,   380,   381,   382,
     383,   384,   385,   386,   387,   388,    -1,   390,   391,   392,
     393,   394,   395,   396,   397,    -1,    -1,    -1,   401,   402,
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
     433,   434,    -1,   436,   437,   438,   439,   440,    -1,   442,
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
     453,   454,   455,   456,   457,   458,   459,    -1,   461,    -1,
     463,   464,   465,   466,    -1,    -1,   469,    -1,   471,    -1,
     473,   474,   475,    -1,    -1,    -1,   479,   480,    -1,    -1,
      -1,    -1,   485,    -1,   487,   488,    -1,   490,   491,    -1,
     493,   494,     4,     5,     6,     7,     8,    -1,    -1,    -1,
      12,    -1,    -1,    -1,    -1,    -1,    -1,    19,    -1,    -1,
      -1,    -1,    -1,    25,    -1,    -1,    28,    29,    30,    31,
      -1,    33,    34,    35,    36,    37,    -1,    -1,    40,    -1,
      -1,    43,    -1,    45,    46,    47,    48,    49,    50,    51,
      -1,    -1,    54,    -1,    56,    57,    58,    59,    -1,    -1,
      62,    63,    64,    65,    66,    67,    -1,    -1,    70,    71,
      72,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
      82,    -1,    84,    85,    86,    -1,    -1,    -1,    90,    91,
      92,    93,    94,    95,    96,    97,    -1,    99,    -1,   101,
     102,    -1,   104,   105,   106,    -1,   108,    -1,   110,    -1,
      -1,   113,    -1,   115,   116,    -1,   118,   119,    -1,   121,
      -1,    -1,   124,   125,   126,    -1,   128,   129,   130,    -1,
      -1,   133,   134,   135,   136,   137,   138,   139,   140,   141,
      -1,    -1,    -1,   145,    -1,   147,    -1,   149,   150,    -1,
      -1,   153,   154,    -1,   156,   157,   158,    -1,   160,    -1,
     162,    -1,    -1,   165,    -1,    -1,   168,    -1,    -1,    -1,
      -1,   173,   174,   175,    -1,    -1,    -1,   179,   180,   181,
     182,    -1,    -1,   185,   186,   187,   188,   189,   190,   191,
     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
     202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
     212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
     222,   223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   231,
     232,   233,    -1,    -1,   236,   237,   238,   239,   240,   241,
     242,   243,    -1,   245,    -1,    -1,   248,    -1,   250,    -1,
     252,   253,    -1,    -1,   256,   257,   258,   259,    -1,    -1,
     262,   263,   264,   265,   266,    -1,    -1,    -1,   270,   271,
      -1,   273,    -1,    -1,   276,   277,    -1,   279,    -1,    -1,
     282,   283,   284,   285,   286,   287,   288,   289,   290,    -1,
     292,   293,   294,   295,    -1,    -1,    -1,   299,    -1,    -1,
     302,   303,   304,    -1,    -1,    -1,    -1,   309,    -1,   311,
     312,   313,   314,    -1,    -1,   317,   318,   319,   320,   321,
      -1,    -1,   324,   325,    -1,   327,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   337,   338,   339,    -1,   341,
      -1,   343,   344,   345,   346,    -1,    -1,    -1,   350,    -1,
      -1,    -1,    -1,    -1,   356,   357,    -1,   359,   360,   361,
     362,   363,   364,   365,   366,   367,   368,   369,   370,    -1,
      -1,    -1,    -1,   375,   376,   377,   378,    -1,   380,   381,
     382,   383,   384,   385,   386,   387,   388,    -1,   390,   391,
     392,   393,   394,   395,   396,   397,    -1,    -1,    -1,   401,
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
     412,   413,    -1,    -1,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
     432,   433,   434,    -1,   436,   437,   438,   439,   440,    -1,
     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
     452,   453,   454,   455,   456,   457,   458,   459,    -1,   461,
      -1,   463,   464,   465,   466,    -1,    -1,   469,    -1,   471,
      -1,   473,   474,   475,    -1,    -1,    -1,   479,   480,    -1,
      -1,    -1,    -1,   485,    -1,   487,    -1,    -1,   490,   491,
      -1,   493,   494,     4,     5,     6,     7,     8,    -1,    -1,
      -1,    12,    -1,    -1,    -1,    -1,    -1,    -1,    19,    -1,
      -1,    -1,    -1,    -1,    25,    -1,    -1,    28,    29,    30,
      31,    -1,    33,    34,    35,    36,    37,    -1,    -1,    40,
      -1,    -1,    43,    -1,    45,    46,    47,    48,    49,    50,
      51,    -1,    -1,    54,    -1,    56,    57,    58,    59,    -1,
      -1,    62,    63,    64,    65,    66,    67,    -1,    -1,    70,
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
      -1,    82,    -1,    84,    85,    -1,    -1,    -1,    -1,    90,
      91,    92,    93,    94,    95,    96,    97,    -1,    99,    -1,
     101,   102,    -1,   104,   105,   106,    -1,   108,    -1,   110,
      -1,    -1,   113,    -1,   115,   116,    -1,   118,   119,    -1,
     121,    -1,    -1,   124,   125,   126,    -1,   128,   129,   130,
      -1,    -1,   133,   134,   135,   136,   137,   138,   139,   140,
     141,    -1,    -1,   144,   145,    -1,   147,    -1,   149,   150,
      -1,    -1,   153,   154,    -1,   156,   157,   158,    -1,   160,
      -1,   162,    -1,    -1,   165,    -1,    -1,   168,    -1,    -1,
      -1,    -1,   173,   174,   175,    -1,    -1,    -1,   179,   180,
     181,   182,    -1,    -1,   185,   186,   187,   188,   189,   190,
     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
     201,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
      -1,   222,   223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     231,   232,   233,    -1,    -1,   236,   237,   238,   239,   240,
     241,   242,   243,    -1,   245,    -1,    -1,   248,    -1,   250,
      -1,   252,   253,    -1,    -1,   256,   257,   258,   259,    -1,
      -1,   262,   263,   264,   265,   266,    -1,    -1,    -1,   270,
     271,    -1,   273,    -1,    -1,   276,   277,    -1,   279,    -1,
      -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
      -1,   292,   293,   294,   295,    -1,    -1,    -1,   299,    -1,
      -1,   302,   303,   304,    -1,    -1,    -1,    -1,   309,    -1,
     311,   312,   313,   314,    -1,    -1,   317,   318,   319,   320,
     321,    -1,    -1,   324,   325,    -1,   327,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   337,   338,   339,    -1,
     341,    -1,   343,   344,   345,   346,    -1,    -1,    -1,   350,
      -1,    -1,    -1,    -1,    -1,   356,   357,    -1,   359,   360,
     361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
      -1,    -1,    -1,    -1,   375,   376,   377,   378,    -1,   380,
     381,   382,   383,   384,   385,   386,   387,   388,    -1,   390,
     391,   392,   393,   394,   395,   396,   397,    -1,    -1,    -1,
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
     411,   412,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,   434,    -1,   436,   437,   438,   439,   440,
      -1,   442,   443,   444,   445,   446,   447,   448,   449,   450,
     451,   452,   453,   454,   455,   456,   457,   458,   459,    -1,
     461,    -1,   463,   464,   465,   466,    -1,    -1,   469,    -1,
     471,    -1,   473,   474,   475,    -1,    -1,    -1,   479,   480,
      -1,    -1,    -1,    -1,   485,    -1,   487,    -1,    -1,   490,
     491,    -1,   493,   494,     4,     5,     6,     7,     8,    -1,
      -1,    -1,    12,    -1,    -1,    -1,    -1,    -1,    -1,    19,
      -1,    -1,    -1,    -1,    -1,    25,    -1,    -1,    28,    29,
      30,    31,    -1,    33,    34,    35,    36,    37,    -1,    -1,
      40,    -1,    -1,    43,    -1,    45,    46,    47,    48,    49,
      50,    51,    -1,    -1,    54,    -1,    56,    57,    58,    59,
      -1,    -1,    62,    63,    64,    65,    66,    67,    -1,    -1,
      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
      80,    -1,    82,    -1,    84,    85,    -1,    -1,    -1,    -1,
      90,    91,    92,    93,    94,    95,    96,    97,    -1,    99,
      -1,   101,   102,    -1,   104,   105,   106,    -1,   108,    -1,
     110,    -1,    -1,   113,    -1,   115,   116,    -1,   118,   119,
      -1,   121,    -1,    -1,   124,   125,   126,    -1,   128,   129,
     130,    -1,    -1,   133,   134,   135,   136,   137,   138,   139,
     140,   141,    -1,    -1,   144,   145,    -1,   147,    -1,   149,
     150,    -1,    -1,   153,   154,    -1,   156,   157,   158,    -1,
     160,    -1,   162,    -1,    -1,   165,    -1,    -1,   168,    -1,
      -1,    -1,    -1,   173,   174,   175,    -1,    -1,    -1,   179,
     180,   181,   182,    -1,    -1,   185,   186,   187,   188,   189,
     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
      -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
     220,    -1,   222,   223,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   231,   232,   233,    -1,    -1,   236,   237,   238,   239,
     240,   241,   242,   243,    -1,   245,    -1,    -1,   248,    -1,
     250,    -1,   252,   253,    -1,    -1,   256,   257,   258,   259,
      -1,    -1,   262,   263,   264,   265,   266,    -1,    -1,    -1,
     270,   271,    -1,   273,    -1,    -1,   276,   277,    -1,   279,
      -1,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
     290,    -1,   292,   293,   294,   295,    -1,    -1,    -1,   299,
      -1,    -1,   302,   303,   304,    -1,    -1,    -1,    -1,   309,
      -1,   311,   312,   313,   314,    -1,    -1,   317,   318,   319,
     320,   321,    -1,    -1,   324,   325,    -1,   327,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,   338,   339,
      -1,   341,    -1,   343,   344,   345,   346,    -1,    -1,    -1,
     350,    -1,    -1,    -1,    -1,    -1,   356,   357,    -1,   359,
     360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
     370,    -1,    -1,    -1,    -1,   375,   376,   377,   378,    -1,
     380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
     390,   391,   392,   393,   394,   395,   396,   397,    -1,    -1,
      -1,   401,   402,   403,   404,   405,   406,   407,   408,   409,
     410,   411,   412,   413,    -1,    -1,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
     430,   431,   432,   433,   434,    -1,   436,   437,   438,   439,
     440,    -1,   442,   443,   444,   445,   446,   447,   448,   449,
     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
      -1,   461,    -1,   463,   464,   465,   466,    -1,    -1,   469,
      -1,   471,    -1,   473,   474,   475,    -1,    -1,    -1,   479,
     480,    -1,    -1,    -1,    -1,   485,    -1,   487,    -1,    -1,
     490,   491,    -1,   493,   494,     4,     5,     6,     7,     8,
      -1,    -1,    -1,    12,    -1,    -1,    -1,    -1,    -1,    -1,
      19,    -1,    -1,    -1,    -1,    -1,    25,    -1,    -1,    28,
      29,    30,    31,    -1,    33,    34,    35,    36,    37,    -1,
      -1,    40,    -1,    -1,    43,    -1,    45,    46,    47,    48,
      49,    50,    51,    -1,    -1,    54,    -1,    56,    57,    58,
      59,    -1,    -1,    62,    63,    64,    65,    66,    67,    -1,
      -1,    70,    71,    72,    73,    74,    75,    76,    77,    78,
      79,    80,    -1,    82,    -1,    84,    85,    -1,    -1,    -1,
      -1,    90,    91,    92,    93,    94,    95,    96,    97,    -1,
      99,    -1,   101,   102,    -1,   104,   105,   106,    -1,   108,
      -1,   110,    -1,    -1,   113,    -1,   115,   116,    -1,   118,
     119,    -1,   121,    -1,    -1,   124,   125,   126,    -1,   128,
     129,   130,    -1,    -1,   133,   134,   135,   136,   137,   138,
     139,   140,   141,    -1,    -1,   144,   145,    -1,   147,    -1,
     149,   150,    -1,    -1,   153,   154,    -1,   156,   157,   158,
      -1,   160,    -1,   162,    -1,    -1,   165,    -1,    -1,   168,
      -1,    -1,    -1,    -1,   173,   174,   175,    -1,    -1,    -1,
     179,   180,   181,   182,    -1,    -1,   185,   186,   187,   188,
     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
     209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
     219,   220,    -1,   222,   223,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   231,   232,   233,    -1,    -1,   236,   237,   238,
     239,   240,   241,   242,   243,    -1,   245,    -1,    -1,   248,
      -1,   250,    -1,   252,   253,    -1,    -1,   256,   257,   258,
     259,    -1,    -1,   262,   263,   264,   265,   266,    -1,    -1,
      -1,   270,   271,    -1,   273,    -1,    -1,   276,   277,    -1,
     279,    -1,    -1,   282,   283,   284,   285,   286,   287,   288,
     289,   290,    -1,   292,   293,   294,   295,    -1,    -1,    -1,
     299,    -1,    -1,   302,   303,   304,    -1,    -1,    -1,    -1,
     309,    -1,   311,   312,   313,   314,    -1,    -1,   317,   318,
     319,   320,   321,    -1,    -1,   324,   325,    -1,   327,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,   338,
     339,    -1,   341,    -1,   343,   344,   345,   346,    -1,    -1,
      -1,   350,    -1,    -1,    -1,    -1,    -1,   356,   357,    -1,
     359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
     369,   370,    -1,    -1,    -1,    -1,   375,   376,   377,   378,
      -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
      -1,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
      -1,    -1,   401,   402,   403,   404,   405,   406,   407,   408,
     409,   410,   411,   412,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
     429,   430,   431,   432,   433,   434,    -1,   436,   437,   438,
     439,   440,    -1,   442,   443,   444,   445,   446,   447,   448,
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
     459,    -1,   461,    -1,   463,   464,   465,   466,    -1,    -1,
     469,    -1,   471,    -1,   473,   474,   475,    -1,    -1,    -1,
     479,   480,    -1,    -1,    -1,    -1,   485,    -1,   487,    -1,
      -1,   490,   491,    -1,   493,   494,     4,     5,     6,     7,
       8,    -1,    -1,    -1,    12,    -1,    -1,    -1,    -1,    -1,
      -1,    19,    -1,    -1,    -1,    -1,    -1,    25,    -1,    -1,
      28,    29,    30,    31,    -1,    33,    34,    35,    36,    37,
      -1,    -1,    40,    -1,    -1,    43,    -1,    45,    46,    47,
      48,    49,    50,    51,    -1,    -1,    54,    -1,    56,    57,
      58,    59,    -1,    -1,    62,    63,    64,    65,    66,    67,
      -1,    -1,    70,    71,    72,    73,    74,    75,    76,    77,
      78,    79,    80,    -1,    82,    -1,    84,    85,    -1,    -1,
      -1,    -1,    90,    91,    92,    93,    94,    95,    96,    97,
      -1,    99,    -1,   101,   102,    -1,   104,   105,   106,    -1,
     108,    -1,   110,    -1,    -1,   113,    -1,   115,   116,    -1,
     118,   119,    -1,   121,    -1,    -1,   124,   125,   126,    -1,
     128,   129,   130,    -1,    -1,   133,   134,   135,   136,   137,
     138,   139,   140,   141,    -1,    -1,    -1,   145,    -1,   147,
      -1,   149,   150,    -1,    -1,   153,   154,    -1,   156,   157,
     158,    -1,   160,    -1,   162,    -1,    -1,   165,    -1,    -1,
     168,    -1,    -1,    -1,    -1,   173,   174,   175,    -1,    -1,
      -1,   179,   180,   181,   182,    -1,    -1,   185,   186,   187,
     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
     208,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
     218,   219,   220,    -1,   222,   223,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   231,   232,   233,    -1,    -1,   236,   237,
     238,   239,   240,   241,   242,   243,    -1,   245,    -1,    -1,
     248,    -1,   250,    -1,   252,   253,    -1,    -1,   256,   257,
     258,   259,    -1,    -1,   262,   263,   264,   265,   266,    -1,
      -1,    -1,   270,   271,    -1,   273,    -1,    -1,   276,   277,
      -1,   279,    -1,    -1,   282,   283,   284,   285,   286,   287,
     288,   289,   290,    -1,   292,   293,   294,   295,    -1,    -1,
      -1,   299,    -1,    -1,   302,   303,   304,    -1,    -1,    -1,
      -1,   309,    -1,   311,   312,   313,   314,    -1,    -1,   317,
     318,   319,   320,   321,    -1,    -1,   324,   325,    -1,   327,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,
     338,   339,    -1,   341,    -1,   343,   344,   345,   346,    -1,
      -1,    -1,   350,    -1,    -1,    -1,    -1,    -1,   356,   357,
      -1,   359,   360,   361,   362,   363,   364,   365,   366,   367,
     368,   369,   370,    -1,    -1,    -1,    -1,   375,   376,   377,
     378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
     388,    -1,   390,   391,   392,   393,   394,   395,   396,   397,
      -1,    -1,    -1,   401,   402,   403,   404,   405,   406,   407,
     408,   409,   410,   411,   412,   413,    -1,    -1,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
     428,   429,   430,   431,   432,   433,   434,    -1,   436,   437,
     438,   439,   440,    -1,   442,   443,   444,   445,   446,   447,
     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
     458,   459,    -1,   461,    -1,   463,   464,   465,   466,    -1,
      -1,   469,    -1,   471,    -1,   473,   474,   475,    -1,    -1,
      -1,   479,   480,    -1,    -1,    -1,    -1,   485,    -1,   487,
      -1,    -1,   490,   491,    -1,   493,   494,     4,     5,     6,
       7,     8,    -1,    -1,    -1,    12,    -1,    -1,    -1,    -1,
      -1,    -1,    19,    -1,    -1,    -1,    -1,    -1,    25,    -1,
      -1,    28,    29,    30,    31,    -1,    33,    34,    35,    36,
      37,    -1,    -1,    40,    -1,    -1,    43,    -1,    45,    46,
      47,    48,    49,    50,    51,    -1,    -1,    54,    -1,    56,
      57,    58,    59,    -1,    -1,    62,    63,    64,    65,    66,
      67,    -1,    -1,    70,    71,    72,    73,    74,    75,    76,
      77,    78,    79,    80,    -1,    82,    -1,    84,    85,    -1,
      -1,    -1,    -1,    90,    91,    92,    93,    94,    95,    96,
      97,    -1,    99,    -1,   101,   102,    -1,   104,   105,   106,
      -1,   108,    -1,   110,    -1,    -1,   113,    -1,   115,   116,
      -1,   118,   119,    -1,   121,    -1,    -1,   124,   125,   126,
      -1,   128,   129,   130,    -1,    -1,   133,   134,   135,   136,
     137,   138,   139,   140,   141,    -1,    -1,    -1,   145,    -1,
     147,    -1,   149,   150,    -1,    -1,   153,   154,    -1,   156,
     157,   158,    -1,   160,    -1,   162,    -1,    -1,   165,    -1,
      -1,   168,    -1,    -1,    -1,    -1,   173,   174,   175,    -1,
      -1,    -1,   179,   180,   181,   182,    -1,    -1,   185,   186,
     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
     207,   208,   209,    -1,   211,   212,   213,   214,   215,   216,
     217,   218,   219,   220,    -1,   222,   223,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   231,   232,   233,    -1,    -1,   236,
     237,   238,   239,   240,   241,   242,   243,    -1,   245,    -1,
      -1,   248,    -1,   250,    -1,   252,   253,    -1,    -1,   256,
     257,   258,   259,    -1,    -1,   262,   263,   264,   265,   266,
      -1,    -1,    -1,   270,   271,    -1,   273,    -1,    -1,   276,
     277,    -1,   279,    -1,    -1,   282,   283,   284,   285,   286,
     287,   288,   289,   290,    -1,   292,   293,   294,   295,    -1,
      -1,    -1,   299,    -1,    -1,   302,   303,   304,    -1,    -1,
      -1,    -1,   309,    -1,   311,   312,   313,   314,    -1,    -1,
     317,   318,   319,   320,   321,    -1,    -1,   324,   325,    -1,
     327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     337,   338,   339,    -1,   341,    -1,   343,   344,   345,   346,
      -1,    -1,    -1,   350,    -1,    -1,    -1,    -1,    -1,   356,
     357,    -1,   359,   360,   361,   362,   363,   364,   365,   366,
     367,   368,   369,   370,    -1,    -1,    -1,    -1,   375,   376,
     377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
     387,   388,    -1,   390,   391,   392,   393,   394,   395,   396,
     397,    -1,    -1,    -1,   401,   402,   403,   404,   405,   406,
     407,   408,   409,   410,   411,   412,   413,    -1,    -1,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,   428,   429,   430,   431,   432,   433,   434,    -1,   436,
     437,   438,   439,   440,    -1,   442,   443,   444,   445,   446,
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
     457,   458,   459,    -1,   461,    -1,   463,   464,   465,   466,
      -1,    -1,   469,    -1,   471,    -1,   473,   474,   475,    -1,
      -1,    -1,   479,   480,    -1,    -1,    -1,    -1,   485,    -1,
     487,    -1,    -1,   490,   491,    -1,   493,   494,     4,     5,
       6,     7,     8,    -1,    -1,    -1,    12,    -1,    -1,    -1,
      -1,    -1,    -1,    19,    -1,    -1,    -1,    -1,    -1,    25,
      -1,    -1,    28,    29,    30,    31,    -1,    33,    34,    35,
      36,    37,    -1,    -1,    40,    -1,    -1,    43,    -1,    45,
      46,    47,    48,    49,    50,    51,    -1,    -1,    54,    -1,
      56,    57,    58,    59,    -1,    -1,    62,    63,    64,    65,
      66,    67,    -1,    -1,    70,    71,    72,    73,    74,    75,
      76,    77,    78,    79,    80,    -1,    82,    -1,    84,    85,
      -1,    -1,    -1,    -1,    90,    91,    92,    93,    94,    95,
      96,    97,    -1,    99,    -1,   101,   102,    -1,   104,   105,
     106,    -1,   108,    -1,   110,    -1,    -1,   113,    -1,   115,
     116,    -1,   118,   119,    -1,   121,    -1,    -1,   124,   125,
     126,    -1,   128,   129,   130,    -1,    -1,   133,   134,   135,
     136,   137,   138,   139,   140,   141,    -1,    -1,    -1,   145,
      -1,   147,    -1,   149,   150,    -1,    -1,   153,   154,    -1,
     156,   157,   158,    -1,   160,    -1,   162,    -1,    -1,   165,
      -1,    -1,   168,    -1,    -1,    -1,    -1,   173,   174,   175,
      -1,    -1,    -1,   179,   180,   181,   182,    -1,    -1,   185,
     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
     206,   207,   208,   209,    -1,   211,   212,   213,   214,   215,
     216,   217,   218,   219,   220,    -1,   222,   223,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   231,   232,   233,    -1,    -1,
     236,   237,   238,   239,   240,   241,   242,   243,    -1,   245,
      -1,    -1,   248,    -1,   250,    -1,   252,   253,    -1,    -1,
     256,   257,   258,   259,    -1,    -1,   262,   263,   264,   265,
     266,    -1,    -1,    -1,   270,   271,    -1,   273,    -1,    -1,
     276,   277,    -1,   279,    -1,    -1,   282,   283,   284,   285,
     286,   287,   288,   289,   290,    -1,   292,   293,   294,   295,
      -1,    -1,    -1,   299,    -1,    -1,   302,   303,   304,    -1,
      -1,    -1,    -1,   309,    -1,   311,   312,   313,   314,    -1,
      -1,   317,   318,   319,   320,   321,    -1,    -1,   324,   325,
      -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   337,   338,   339,    -1,   341,    -1,   343,   344,   345,
     346,    -1,    -1,    -1,   350,    -1,    -1,    -1,    -1,    -1,
     356,   357,    -1,   359,   360,   361,   362,   363,   364,   365,
     366,   367,   368,   369,   370,    -1,    -1,    -1,    -1,   375,
     376,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
     386,   387,   388,    -1,   390,   391,   392,   393,   394,   395,
     396,   397,    -1,    -1,    -1,   401,   402,   403,   404,   405,
     406,   407,   408,   409,   410,   411,   412,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   428,   429,   430,   431,   432,   433,   434,    -1,
     436,   437,   438,   439,   440,    -1,   442,   443,   444,   445,
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
     456,   457,   458,   459,    -1,   461,    -1,   463,   464,   465,
     466,    -1,    -1,   469,    -1,   471,    -1,   473,   474,   475,
      -1,    -1,    -1,   479,   480,    -1,    -1,    -1,    -1,   485,
      -1,   487,    -1,    -1,   490,   491,    -1,   493,   494,     4,
       5,     6,     7,     8,    -1,    -1,    -1,    12,    -1,    -1,
      -1,    -1,    -1,    -1,    19,    -1,    -1,    -1,    -1,    -1,
      25,    -1,    -1,    28,    29,    30,    31,    -1,    33,    34,
      35,    36,    37,    -1,    -1,    40,    -1,    -1,    43,    -1,
      45,    46,    47,    48,    49,    50,    51,    -1,    -1,    54,
      -1,    56,    57,    58,    59,    -1,    -1,    62,    63,    64,
      65,    66,    67,    -1,    -1,    70,    71,    72,    73,    74,
      75,    76,    77,    78,    79,    80,    -1,    82,    -1,    84,
      85,    -1,    -1,    -1,    -1,    90,    91,    92,    93,    94,
      95,    96,    97,    -1,    99,    -1,   101,   102,    -1,   104,
     105,   106,    -1,   108,    -1,   110,    -1,    -1,   113,    -1,
     115,   116,    -1,   118,   119,    -1,   121,    -1,    -1,   124,
     125,   126,    -1,   128,   129,   130,    -1,    -1,   133,   134,
     135,   136,   137,   138,   139,   140,   141,    -1,    -1,    -1,
     145,    -1,   147,    -1,   149,   150,    -1,    -1,   153,   154,
      -1,   156,   157,   158,    -1,   160,    -1,   162,    -1,    -1,
     165,    -1,    -1,   168,    -1,    -1,    -1,    -1,   173,   174,
     175,    -1,    -1,    -1,   179,   180,   181,   182,    -1,    -1,
     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,    -1,   211,   212,   213,   214,
     215,   216,   217,   218,   219,   220,    -1,   222,   223,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   231,   232,   233,    -1,
      -1,   236,   237,   238,   239,   240,   241,   242,   243,    -1,
     245,    -1,    -1,   248,    -1,   250,    -1,   252,   253,    -1,
      -1,   256,   257,   258,   259,    -1,    -1,   262,   263,   264,
     265,   266,    -1,    -1,    -1,   270,   271,    -1,   273,    -1,
      -1,   276,   277,    -1,   279,    -1,    -1,   282,   283,   284,
     285,   286,   287,   288,   289,   290,    -1,   292,   293,   294,
     295,    -1,    -1,    -1,   299,    -1,    -1,   302,   303,   304,
      -1,    -1,    -1,    -1,   309,    -1,   311,   312,   313,   314,
      -1,    -1,   317,   318,   319,   320,   321,    -1,    -1,   324,
     325,    -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   337,   338,   339,    -1,   341,    -1,   343,   344,
     345,   346,    -1,    -1,    -1,   350,    -1,    -1,    -1,    -1,
      -1,   356,   357,    -1,   359,   360,   361,   362,   363,   364,
     365,   366,   367,   368,   369,   370,    -1,    -1,    -1,    -1,
     375,   376,   377,   378,    -1,   380,   381,   382,   383,   384,
     385,   386,   387,   388,    -1,   390,   391,   392,   393,   394,
     395,   396,   397,    -1,    -1,    -1,   401,   402,   403,   404,
     405,   406,   407,   408,   409,   410,   411,   412,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
      -1,   436,   437,   438,   439,   440,    -1,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
     455,   456,   457,   458,   459,    -1,   461,    -1,   463,   464,
     465,   466,    -1,    -1,   469,    -1,   471,    -1,   473,   474,
     475,    -1,    -1,    -1,   479,   480,    -1,    -1,    -1,    -1,
     485,    -1,   487,    -1,    -1,   490,   491,    -1,   493,   494,
       4,     5,     6,     7,     8,    -1,    -1,    -1,    12,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    25,    -1,    -1,    28,    29,    30,    31,    -1,    33,
      34,    35,    36,    -1,    -1,    -1,    40,    -1,    -1,    43,
      -1,    45,    46,    47,    48,    49,    -1,    51,    -1,    -1,
      54,    -1,    56,    -1,    -1,    59,    -1,    -1,    62,    63,
      64,    65,    66,    67,    68,    -1,    70,    71,    72,    73,
      -1,    -1,    76,    -1,    78,    79,    80,    -1,    82,    -1,
      84,    85,    -1,    -1,    -1,    -1,    90,    91,    92,    93,
      -1,    95,    96,    97,    -1,    99,    -1,   101,   102,    -1,
      -1,   105,   106,    -1,   108,    -1,   110,    -1,    -1,   113,
     114,    -1,    -1,    -1,   118,    -1,    -1,   121,    -1,    -1,
     124,   125,   126,    -1,   128,   129,   130,    -1,    -1,   133,
     134,    -1,   136,    -1,   138,   139,   140,    -1,    -1,    -1,
      -1,   145,   146,   147,    -1,   149,    -1,    -1,    -1,   153,
      -1,    -1,   156,   157,   158,    -1,   160,   161,   162,    -1,
      -1,   165,    -1,    -1,   168,    -1,    -1,   171,    -1,    -1,
     174,   175,    -1,   177,    -1,   179,    -1,   181,    -1,    -1,
      -1,   185,   186,   187,   188,   189,   190,   191,   192,   193,
     194,   195,   196,   197,   198,   199,   200,    -1,   202,   203,
     204,   205,   206,   207,   208,   209,    -1,   211,   212,   213,
      -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   231,   232,   233,
      -1,    -1,   236,   237,   238,   239,   240,   241,   242,   243,
      -1,    -1,    -1,    -1,   248,    -1,   250,    -1,   252,   253,
      -1,    -1,   256,   257,   258,   259,    -1,    -1,   262,   263,
     264,   265,   266,   267,    -1,    -1,   270,   271,    -1,   273,
      -1,    -1,   276,   277,    -1,    -1,    -1,    -1,   282,    -1,
     284,   285,    -1,    -1,    -1,    -1,   290,    -1,   292,   293,
      -1,   295,    -1,    -1,    -1,   299,    -1,    -1,   302,    -1,
     304,    -1,    -1,    -1,    -1,   309,    -1,   311,   312,   313,
     314,    -1,    -1,    -1,   318,    -1,   320,   321,    -1,    -1,
     324,   325,    -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   337,   338,   339,    -1,   341,    -1,   343,
     344,   345,   346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,   382,   383,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     394,    -1,    -1,   397,    -1,    -1,    -1,   401,   402,    -1,
     404,    -1,    -1,    -1,    -1,   409,    -1,    -1,    -1,   413,
      -1,    -1,   416,   417,   418,   419,    -1,    -1,    -1,   423,
     424,   425,    -1,   427,   428,    -1,    -1,   431,    -1,   433,
      -1,    -1,    -1,    -1,    -1,    -1,   440,    -1,   442,   443,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   455,     4,     5,     6,     7,     8,   461,    -1,   463,
      12,    -1,   466,    -1,    -1,   469,    -1,   471,    -1,   473,
     474,   475,    -1,    25,    -1,    -1,    28,    29,    30,    31,
      -1,    33,    34,    35,    36,    -1,    -1,    -1,    40,    -1,
     494,    43,    -1,    45,    46,    47,    48,    49,    -1,    51,
      -1,    -1,    54,    -1,    56,    -1,    -1,    59,    -1,    -1,
      62,    63,    64,    65,    66,    67,    -1,    -1,    70,    71,
      72,    73,    -1,    -1,    76,    -1,    78,    79,    80,    -1,
      82,    -1,    84,    85,    -1,    -1,    -1,    -1,    90,    91,
      92,    93,    -1,    95,    96,    97,    -1,    99,    -1,   101,
     102,    -1,    -1,   105,   106,    -1,   108,    -1,   110,    -1,
      -1,   113,   114,    -1,    -1,    -1,   118,    -1,    -1,   121,
      -1,    -1,   124,   125,   126,    -1,   128,   129,   130,    -1,
      -1,   133,   134,    -1,   136,    -1,   138,   139,   140,    -1,
      -1,    -1,    -1,   145,   146,   147,    -1,   149,    -1,    -1,
      -1,   153,    -1,    -1,   156,   157,   158,    -1,   160,   161,
     162,    -1,    -1,   165,    -1,    -1,   168,    -1,    -1,   171,
      -1,    -1,   174,   175,    -1,    -1,    -1,   179,    -1,   181,
      -1,    -1,    -1,   185,   186,   187,   188,   189,   190,   191,
     192,   193,   194,   195,   196,   197,   198,   199,   200,    -1,
     202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
     212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,
     222,   223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   231,
     232,   233,    -1,    -1,   236,   237,   238,   239,   240,   241,
     242,   243,    -1,    -1,    -1,    -1,   248,    -1,   250,    -1,
     252,   253,    -1,    -1,   256,   257,   258,   259,    -1,    -1,
     262,   263,   264,   265,   266,   267,    -1,    -1,   270,   271,
      -1,   273,    -1,    -1,   276,   277,    -1,    -1,    -1,    -1,
     282,    -1,   284,   285,    -1,    -1,    -1,    -1,   290,    -1,
     292,   293,    -1,   295,    -1,    -1,    -1,   299,    -1,    -1,
     302,    -1,   304,    -1,    -1,    -1,    -1,   309,    -1,   311,
     312,   313,   314,    -1,    -1,    -1,   318,    -1,   320,   321,
      -1,    -1,   324,   325,    -1,   327,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   337,   338,   339,    -1,   341,
      -1,   343,   344,   345,   346,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,
     382,   383,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   394,    -1,    -1,   397,    -1,    -1,    -1,   401,
     402,    -1,   404,    -1,    -1,    -1,    -1,   409,    -1,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,    -1,    -1,
      -1,   423,   424,   425,    -1,   427,   428,    -1,    -1,   431,
      -1,   433,    -1,    -1,    -1,    -1,    -1,    -1,   440,    -1,
     442,   443,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   455,     4,     5,     6,     7,     8,   461,
      -1,   463,    12,    -1,   466,    -1,    -1,   469,    -1,   471,
      -1,   473,   474,   475,    -1,    25,    -1,    -1,    28,    29,
      30,    31,    -1,    33,    34,    35,    36,    -1,    -1,    -1,
      40,    -1,   494,    43,    -1,    45,    46,    47,    48,    49,
      -1,    51,    -1,    -1,    54,    -1,    56,    -1,    -1,    59,
      -1,    -1,    62,    63,    64,    65,    66,    67,    68,    -1,
      70,    71,    72,    73,    -1,    -1,    76,    -1,    78,    79,
      80,    -1,    82,    -1,    84,    85,    -1,    -1,    -1,    -1,
      90,    91,    92,    93,    -1,    95,    96,    97,    -1,    99,
      -1,   101,   102,    -1,    -1,   105,   106,    -1,   108,    -1,
     110,    -1,    -1,   113,    -1,    -1,    -1,    -1,   118,    -1,
      -1,   121,    -1,    -1,   124,   125,   126,    -1,   128,   129,
     130,    -1,    -1,   133,   134,    -1,   136,    -1,   138,   139,
     140,    -1,    -1,    -1,    -1,   145,    -1,   147,    -1,   149,
      -1,    -1,    -1,   153,    -1,    -1,   156,   157,   158,    -1,
     160,    -1,   162,    -1,    -1,   165,    -1,    -1,   168,    -1,
      -1,    -1,    -1,    -1,   174,   175,    -1,    -1,    -1,   179,
      -1,   181,    -1,    -1,    -1,   185,   186,   187,   188,   189,
     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
     200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
      -1,   211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,
     220,    -1,   222,   223,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   231,   232,   233,    -1,    -1,   236,   237,   238,   239,
     240,   241,   242,   243,    -1,    -1,    -1,    -1,   248,    -1,
     250,    -1,   252,   253,    -1,    -1,   256,   257,   258,   259,
      -1,    -1,   262,   263,   264,   265,   266,    -1,    -1,    -1,
     270,   271,    -1,   273,    -1,    -1,   276,   277,    -1,    -1,
      -1,    -1,   282,    -1,   284,   285,    -1,    -1,    -1,    -1,
     290,    -1,   292,   293,    -1,   295,    -1,    -1,    -1,   299,
      -1,    -1,   302,    -1,   304,    -1,    -1,    -1,    -1,   309,
      -1,   311,   312,   313,   314,    -1,    -1,    -1,   318,    -1,
     320,   321,    -1,    -1,   324,   325,    -1,   327,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,   338,   339,
      -1,   341,    -1,   343,   344,   345,   346,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,    -1,    -1,
      -1,    -1,   382,   383,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   394,    -1,    -1,   397,    -1,    -1,
      -1,   401,   402,    -1,   404,    -1,    -1,    -1,    -1,   409,
      -1,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
      -1,    -1,    -1,   423,   424,   425,    -1,   427,   428,    -1,
      -1,   431,    -1,   433,    -1,    -1,    -1,    -1,    -1,    -1,
     440,    -1,   442,   443,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   455,    -1,    -1,    -1,    -1,
      -1,   461,    -1,   463,    -1,    -1,   466,    -1,    -1,   469,
      -1,   471,    -1,   473,   474,   475,     4,     5,     6,     7,
       8,    -1,    -1,    -1,    12,    -1,    -1,    -1,   488,    -1,
      -1,    -1,    -1,    -1,   494,    -1,    -1,    25,    -1,    -1,
      28,    29,    30,    31,    -1,    33,    34,    35,    36,    -1,
      -1,    -1,    40,    -1,    -1,    43,    -1,    45,    46,    47,
      48,    49,    -1,    51,    -1,    -1,    54,    -1,    56,    -1,
      -1,    59,    -1,    -1,    62,    63,    64,    65,    66,    67,
      -1,    -1,    70,    71,    72,    73,    -1,    -1,    76,    -1,
      78,    79,    80,    -1,    82,    -1,    84,    85,    -1,    -1,
      -1,    -1,    90,    91,    92,    93,    -1,    95,    96,    97,
      -1,    99,    -1,   101,   102,    -1,    -1,   105,   106,    -1,
     108,    -1,   110,    -1,    -1,   113,    -1,    -1,    -1,    -1,
     118,    -1,    -1,   121,    -1,    -1,   124,   125,   126,    -1,
     128,   129,   130,    -1,    -1,   133,   134,    -1,   136,    -1,
     138,   139,   140,    -1,    -1,    -1,    -1,   145,    -1,   147,
      -1,   149,    -1,    -1,    -1,   153,    -1,    -1,   156,   157,
     158,    -1,   160,    -1,   162,    -1,    -1,   165,   166,    -1,
     168,    -1,    -1,    -1,    -1,    -1,   174,   175,    -1,    -1,
      -1,   179,    -1,   181,    -1,    -1,    -1,   185,   186,   187,
     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
     198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
     208,   209,    -1,   211,   212,   213,    -1,   215,    -1,   217,
      -1,    -1,   220,    -1,   222,   223,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   231,   232,   233,    -1,    -1,   236,   237,
     238,   239,   240,   241,   242,   243,    -1,    -1,    -1,    -1,
     248,    -1,   250,    -1,   252,   253,    -1,    -1,   256,   257,
     258,   259,    -1,    -1,   262,   263,   264,   265,   266,    -1,
      -1,    -1,   270,   271,    -1,   273,    -1,    -1,   276,   277,
      -1,    -1,    -1,    -1,   282,    -1,   284,   285,    -1,    -1,
      -1,    -1,   290,    -1,   292,   293,    -1,   295,    -1,    -1,
      -1,   299,    -1,    -1,   302,    -1,   304,    -1,    -1,    -1,
      -1,   309,    -1,   311,   312,   313,   314,    -1,    -1,    -1,
     318,    -1,   320,   321,    -1,    -1,   324,   325,    -1,   327,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,
     338,   339,    -1,   341,    -1,   343,   344,   345,   346,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,
      -1,    -1,    -1,    -1,   382,   383,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   394,    -1,    -1,   397,
      -1,    -1,    -1,   401,   402,    -1,   404,    -1,    -1,    -1,
      -1,   409,    -1,    -1,    -1,   413,    -1,    -1,   416,   417,
     418,   419,    -1,    -1,    -1,   423,   424,   425,    -1,   427,
     428,    -1,    -1,   431,    -1,   433,    -1,    -1,    -1,    -1,
      -1,    -1,   440,    -1,   442,   443,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,     4,     5,
       6,     7,     8,   461,    -1,   463,    12,    -1,   466,    -1,
      -1,   469,    -1,   471,    -1,   473,   474,   475,    -1,    25,
      -1,    -1,    28,    29,    30,    31,    -1,    33,    34,    35,
      36,    -1,    -1,    -1,    40,    -1,   494,    43,    -1,    45,
      46,    47,    48,    49,    -1,    51,    -1,    -1,    54,    -1,
      56,    -1,    -1,    59,    -1,    -1,    62,    63,    64,    65,
      66,    67,    -1,    -1,    70,    71,    72,    73,    -1,    -1,
      76,    -1,    78,    79,    80,    -1,    82,    -1,    84,    85,
      -1,    -1,    -1,    -1,    90,    91,    92,    93,    -1,    95,
      96,    97,    -1,    99,    -1,   101,   102,    -1,    -1,   105,
     106,    -1,   108,    -1,   110,    -1,    -1,   113,    -1,    -1,
      -1,    -1,   118,    -1,    -1,   121,    -1,    -1,   124,   125,
     126,    -1,   128,   129,   130,    -1,    -1,   133,   134,    -1,
     136,    -1,   138,   139,   140,    -1,    -1,    -1,    -1,   145,
      -1,   147,    -1,   149,    -1,    -1,    -1,   153,    -1,    -1,
     156,   157,   158,    -1,   160,    -1,   162,    -1,    -1,   165,
      -1,    -1,   168,    -1,    -1,    -1,    -1,    -1,   174,   175,
      -1,    -1,    -1,   179,    -1,   181,    -1,    -1,    -1,   185,
     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
     196,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
     206,   207,   208,   209,    -1,   211,   212,   213,    -1,   215,
      -1,   217,    -1,    -1,   220,    -1,   222,   223,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   231,   232,   233,    -1,    -1,
     236,   237,   238,   239,   240,   241,   242,   243,    -1,    -1,
      -1,    -1,   248,    -1,   250,    -1,   252,   253,    -1,    -1,
     256,   257,   258,   259,    -1,    -1,   262,   263,   264,   265,
     266,    -1,    -1,    -1,   270,   271,    -1,   273,    -1,    -1,
     276,   277,    -1,    -1,    -1,    -1,   282,    -1,   284,   285,
      -1,    -1,    -1,    -1,   290,    -1,   292,   293,    -1,   295,
      -1,    -1,    -1,   299,    -1,    -1,   302,    -1,   304,    -1,
      -1,    -1,    -1,   309,    -1,   311,   312,   313,   314,    -1,
      -1,    -1,   318,    -1,   320,   321,    -1,    -1,   324,   325,
      -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   337,   338,   339,    -1,   341,    -1,   343,   344,   345,
     346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,
      -1,    -1,    -1,    -1,    -1,    -1,   382,   383,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   394,    -1,
      -1,   397,    -1,    -1,    -1,   401,   402,    -1,   404,    -1,
      -1,    -1,    -1,   409,    -1,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,    -1,    -1,    -1,   423,   424,   425,
      -1,   427,   428,    -1,    -1,   431,    -1,   433,    -1,    -1,
      -1,    -1,    -1,    -1,   440,    -1,   442,   443,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,
      -1,    -1,    -1,    -1,    -1,   461,    -1,   463,    -1,    -1,
     466,    -1,    -1,   469,    -1,   471,    -1,   473,   474,   475,
       4,     5,     6,     7,     8,   481,    -1,    -1,    12,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   494,    -1,
      -1,    25,    -1,    -1,    28,    29,    30,    31,    -1,    33,
      34,    35,    36,    -1,    -1,    -1,    40,    -1,    -1,    43,
      -1,    45,    46,    47,    48,    49,    -1,    51,    -1,    -1,
      54,    -1,    56,    -1,    -1,    59,    -1,    -1,    62,    63,
      64,    65,    66,    67,    -1,    -1,    70,    71,    72,    73,
      -1,    -1,    76,    -1,    78,    79,    80,    -1,    82,    -1,
      84,    85,    -1,    -1,    -1,    -1,    90,    91,    92,    93,
      -1,    95,    96,    97,    -1,    99,    -1,   101,   102,    -1,
      -1,   105,   106,    -1,   108,    -1,   110,    -1,    -1,   113,
      -1,    -1,    -1,    -1,   118,    -1,    -1,   121,    -1,    -1,
     124,   125,   126,    -1,   128,   129,   130,    -1,    -1,   133,
     134,    -1,   136,    -1,   138,   139,   140,    -1,    -1,    -1,
      -1,   145,    -1,   147,    -1,   149,    -1,    -1,    -1,   153,
      -1,    -1,   156,   157,   158,    -1,   160,    -1,   162,    -1,
      -1,   165,    -1,    -1,   168,    -1,    -1,    -1,    -1,    -1,
     174,   175,    -1,    -1,    -1,   179,    -1,   181,    -1,    -1,
      -1,   185,   186,   187,   188,   189,   190,   191,   192,   193,
     194,   195,   196,   197,   198,   199,   200,    -1,   202,   203,
     204,   205,   206,   207,   208,   209,    -1,   211,   212,   213,
      -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   231,   232,   233,
      -1,    -1,   236,   237,   238,   239,   240,   241,   242,   243,
      -1,    -1,    -1,    -1,   248,    -1,   250,    -1,   252,   253,
      -1,    -1,   256,   257,   258,   259,    -1,    -1,   262,   263,
     264,   265,   266,    -1,    -1,    -1,   270,   271,    -1,   273,
      -1,    -1,   276,   277,    -1,    -1,    -1,    -1,   282,    -1,
     284,   285,    -1,    -1,    -1,    -1,   290,    -1,   292,   293,
      -1,   295,    -1,    -1,    -1,   299,    -1,    -1,   302,    -1,
     304,    -1,    -1,    -1,    -1,   309,    -1,   311,   312,   313,
     314,    -1,    -1,    -1,   318,    -1,   320,   321,    -1,    -1,
     324,   325,    -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   337,   338,   339,    -1,   341,    -1,   343,
     344,   345,   346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,   382,   383,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     394,    -1,    -1,   397,    -1,    -1,    -1,   401,   402,    -1,
     404,    -1,    -1,    -1,    -1,   409,    -1,    -1,    -1,   413,
      -1,    -1,   416,   417,   418,   419,    -1,    -1,    -1,   423,
     424,   425,    -1,   427,   428,    -1,    -1,   431,    -1,   433,
      -1,    -1,    -1,    -1,    -1,    -1,   440,    -1,   442,   443,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   455,    -1,    -1,    -1,    -1,    -1,   461,    -1,   463,
      -1,    -1,   466,    -1,    -1,   469,    -1,   471,    -1,   473,
     474,   475,     4,     5,     6,     7,     8,    -1,    -1,    -1,
      12,    -1,    -1,   487,    -1,    -1,    -1,    -1,    -1,    -1,
     494,    -1,    -1,    25,    -1,    -1,    28,    29,    30,    31,
      -1,    33,    34,    35,    36,    -1,    -1,    -1,    40,    -1,
      -1,    43,    -1,    45,    46,    47,    48,    49,    -1,    51,
      -1,    -1,    54,    -1,    56,    -1,    -1,    59,    -1,    -1,
      62,    63,    64,    65,    66,    67,    -1,    -1,    70,    71,
      72,    73,    -1,    -1,    76,    -1,    78,    79,    80,    -1,
      82,    -1,    84,    85,    -1,    -1,    -1,    -1,    90,    91,
      92,    93,    -1,    95,    96,    97,    -1,    99,    -1,   101,
     102,    -1,    -1,   105,   106,    -1,   108,    -1,   110,    -1,
      -1,   113,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,
      -1,    -1,   124,   125,   126,    -1,   128,   129,   130,    -1,
      -1,   133,   134,    -1,   136,    -1,   138,   139,   140,    -1,
      -1,    -1,    -1,   145,    -1,   147,    -1,   149,    -1,    -1,
      -1,   153,    -1,    -1,   156,   157,   158,    -1,   160,    -1,
     162,    -1,    -1,   165,    -1,    -1,   168,    -1,    -1,    -1,
      -1,    -1,   174,   175,    -1,    -1,    -1,   179,    -1,   181,
      -1,    -1,    -1,   185,   186,   187,   188,   189,   190,   191,
     192,   193,   194,   195,   196,   197,   198,   199,   200,    -1,
     202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
     212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,
     222,   223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   231,
     232,   233,    -1,    -1,   236,   237,   238,   239,   240,   241,
     242,   243,    -1,    -1,    -1,    -1,   248,    -1,   250,    -1,
     252,   253,    -1,    -1,   256,   257,   258,   259,    -1,    -1,
     262,   263,   264,   265,   266,    -1,    -1,    -1,   270,   271,
      -1,   273,    -1,    -1,   276,   277,    -1,    -1,    -1,    -1,
     282,    -1,   284,   285,    -1,    -1,    -1,    -1,   290,    -1,
     292,   293,    -1,   295,    -1,    -1,    -1,   299,    -1,    -1,
     302,    -1,   304,    -1,    -1,    -1,    -1,   309,    -1,   311,
     312,   313,   314,    -1,    -1,    -1,   318,    -1,   320,   321,
      -1,    -1,   324,   325,    -1,   327,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   337,   338,   339,    -1,   341,
      -1,   343,   344,   345,   346,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,
     382,   383,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   394,    -1,    -1,   397,    -1,    -1,    -1,   401,
     402,    -1,   404,    -1,    -1,    -1,    -1,   409,    -1,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,    -1,    -1,
      -1,   423,   424,   425,    -1,   427,   428,    -1,    -1,   431,
      -1,   433,    -1,    -1,    -1,    -1,    -1,    -1,   440,    -1,
     442,   443,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   455,    -1,    -1,    -1,    -1,    -1,   461,
      -1,   463,    -1,    -1,   466,    -1,    -1,   469,    -1,   471,
      -1,   473,   474,   475,     4,     5,     6,     7,     8,    -1,
      -1,    -1,    12,    -1,    -1,    -1,   488,    -1,    -1,    -1,
      -1,    -1,   494,    -1,    -1,    25,    -1,    -1,    28,    29,
      30,    31,    -1,    33,    34,    35,    36,    -1,    -1,    -1,
      40,    -1,    -1,    43,    -1,    45,    46,    47,    48,    49,
      -1,    51,    -1,    -1,    54,    -1,    56,    -1,    -1,    59,
      -1,    -1,    62,    63,    64,    65,    66,    67,    -1,    -1,
      70,    71,    72,    73,    -1,    -1,    76,    -1,    78,    79,
      80,    -1,    82,    -1,    84,    85,    -1,    -1,    -1,    -1,
      90,    91,    92,    93,    -1,    95,    96,    97,    -1,    99,
      -1,   101,   102,    -1,    -1,   105,   106,    -1,   108,    -1,
     110,    -1,    -1,   113,    -1,    -1,    -1,    -1,   118,    -1,
      -1,   121,    -1,    -1,   124,   125,   126,    -1,   128,   129,
     130,    -1,    -1,   133,   134,    -1,   136,    -1,   138,   139,
     140,    -1,    -1,    -1,    -1,   145,    -1,   147,    -1,   149,
      -1,    -1,    -1,   153,    -1,    -1,   156,   157,   158,    -1,
     160,    -1,   162,    -1,    -1,   165,    -1,    -1,   168,    -1,
      -1,    -1,    -1,    -1,   174,   175,    -1,    -1,    -1,   179,
      -1,   181,    -1,    -1,    -1,   185,   186,   187,   188,   189,
     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
     200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
      -1,   211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,
     220,    -1,   222,   223,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   231,   232,   233,    -1,    -1,   236,   237,   238,   239,
     240,   241,   242,   243,    -1,    -1,    -1,    -1,   248,    -1,
     250,    -1,   252,   253,    -1,    -1,   256,   257,   258,   259,
      -1,    -1,   262,   263,   264,   265,   266,    -1,    -1,    -1,
     270,   271,    -1,   273,    -1,    -1,   276,   277,    -1,    -1,
      -1,    -1,   282,    -1,   284,   285,    -1,    -1,    -1,    -1,
     290,    -1,   292,   293,    -1,   295,    -1,    -1,    -1,   299,
      -1,    -1,   302,    -1,   304,    -1,    -1,    -1,    -1,   309,
      -1,   311,   312,   313,   314,    -1,    -1,    -1,   318,    -1,
     320,   321,    -1,    -1,   324,   325,    -1,   327,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,   338,   339,
      -1,   341,    -1,   343,   344,   345,   346,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,    -1,    -1,
      -1,    -1,   382,   383,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   394,    -1,    -1,   397,    -1,    -1,
      -1,   401,   402,    -1,   404,    -1,    -1,    -1,    -1,   409,
      -1,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
      -1,    -1,    -1,   423,   424,   425,    -1,   427,   428,    -1,
      -1,   431,    -1,   433,    -1,    -1,    -1,    -1,    -1,    -1,
     440,    -1,   442,   443,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   455,     4,     5,     6,     7,
       8,   461,    -1,   463,    12,    -1,   466,    -1,    -1,   469,
      -1,   471,    -1,   473,   474,   475,    -1,    25,    -1,    -1,
      28,    29,    30,    31,    -1,    33,    34,    35,    36,    -1,
      -1,    -1,    40,    -1,   494,    43,    -1,    45,    46,    47,
      48,    49,    -1,    51,    -1,    -1,    54,    -1,    56,    -1,
      -1,    59,    -1,    -1,    62,    63,    64,    65,    66,    67,
      -1,    -1,    70,    71,    72,    73,    -1,    -1,    76,    -1,
      78,    79,    80,    -1,    82,    -1,    84,    85,    -1,    -1,
      -1,    -1,    90,    91,    92,    93,    -1,    95,    96,    97,
      -1,    99,    -1,   101,   102,    -1,    -1,   105,   106,    -1,
     108,    -1,   110,    -1,    -1,   113,    -1,    -1,    -1,    -1,
     118,    -1,    -1,   121,    -1,    -1,   124,   125,   126,    -1,
     128,   129,   130,    -1,    -1,   133,   134,    -1,   136,    -1,
     138,   139,   140,    -1,    -1,    -1,    -1,   145,    -1,   147,
      -1,   149,    -1,    -1,    -1,   153,    -1,    -1,   156,   157,
     158,    -1,   160,    -1,   162,    -1,    -1,   165,    -1,    -1,
     168,    -1,    -1,    -1,    -1,    -1,   174,   175,    -1,    -1,
      -1,   179,    -1,   181,    -1,    -1,    -1,   185,   186,   187,
     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
     198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
     208,   209,    -1,   211,   212,   213,    -1,   215,    -1,   217,
      -1,    -1,   220,    -1,   222,   223,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   231,   232,   233,    -1,    -1,   236,   237,
     238,   239,   240,   241,   242,   243,    -1,    -1,    -1,    -1,
     248,    -1,   250,    -1,   252,   253,    -1,    -1,   256,   257,
     258,   259,    -1,    -1,   262,   263,   264,   265,   266,    -1,
      -1,    -1,   270,   271,    -1,   273,    -1,    -1,   276,   277,
      -1,    -1,    -1,    -1,   282,    -1,   284,   285,    -1,    -1,
      -1,    -1,   290,    -1,   292,   293,    -1,   295,    -1,    -1,
      -1,   299,    -1,    -1,   302,    -1,   304,    -1,    -1,    -1,
      -1,   309,    -1,   311,   312,   313,   314,    -1,    -1,    -1,
     318,    -1,   320,   321,    -1,    -1,   324,   325,    -1,   327,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,
     338,   339,    -1,   341,    -1,   343,   344,   345,   346,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,
      -1,    -1,    -1,    -1,   382,   383,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   394,    -1,    -1,   397,
      -1,    -1,    -1,   401,   402,    -1,   404,    -1,    -1,    -1,
      -1,   409,    -1,    -1,    -1,   413,    -1,    -1,   416,   417,
     418,   419,    -1,    -1,    -1,   423,   424,   425,    -1,   427,
     428,    -1,    -1,   431,    -1,   433,    -1,    -1,    -1,    -1,
      -1,    -1,   440,    -1,   442,   443,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,     4,     5,
       6,     7,     8,   461,    -1,   463,    12,    -1,   466,    -1,
      -1,   469,    -1,   471,    -1,   473,   474,   475,    -1,    25,
      -1,    -1,    28,    29,    30,    31,    -1,    33,    34,    35,
      36,    -1,    -1,    -1,    40,    -1,   494,    43,    -1,    45,
      46,    47,    48,    49,    -1,    51,    -1,    -1,    54,    -1,
      56,    -1,    -1,    59,    -1,    -1,    62,    63,    64,    65,
      66,    67,    -1,    -1,    70,    71,    72,    73,    -1,    -1,
      76,    -1,    78,    79,    80,    -1,    82,    -1,    84,    85,
      -1,    -1,    -1,    -1,    90,    91,    92,    93,    -1,    95,
      96,    97,    -1,    99,    -1,   101,   102,    -1,    -1,   105,
     106,    -1,   108,    -1,   110,    -1,    -1,   113,    -1,    -1,
      -1,    -1,   118,    -1,    -1,   121,    -1,    -1,   124,   125,
     126,    -1,   128,   129,   130,    -1,    -1,   133,   134,    -1,
     136,    -1,   138,   139,   140,    -1,    -1,    -1,    -1,   145,
      -1,   147,    -1,   149,    -1,    -1,    -1,   153,    -1,    -1,
     156,   157,   158,    -1,   160,    -1,   162,    -1,    -1,   165,
      -1,    -1,   168,    -1,    -1,    -1,    -1,    -1,   174,   175,
      -1,    -1,    -1,   179,    -1,   181,    -1,    -1,    -1,   185,
     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
     196,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
     206,   207,   208,   209,    -1,   211,   212,   213,    -1,   215,
      -1,   217,    -1,    -1,   220,    -1,   222,   223,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   231,   232,   233,    -1,    -1,
     236,   237,   238,   239,   240,   241,   242,   243,    -1,    -1,
      -1,    -1,   248,    -1,   250,    -1,   252,   253,    -1,    -1,
     256,   257,   258,   259,    -1,    -1,   262,   263,   264,   265,
     266,    -1,    -1,    -1,   270,   271,    -1,   273,    -1,    -1,
     276,   277,    -1,    -1,    -1,    -1,   282,    -1,   284,   285,
      -1,    -1,    -1,    -1,   290,    -1,   292,   293,    -1,   295,
      -1,    -1,    -1,   299,    -1,    -1,   302,    -1,   304,    -1,
      -1,    -1,    -1,   309,    -1,   311,   312,   313,   314,    -1,
      -1,    -1,   318,    -1,   320,   321,    -1,    -1,   324,   325,
      -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   337,   338,   339,    -1,   341,    -1,   343,   344,   345,
     346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,
      -1,    -1,    -1,    -1,    -1,    -1,   382,   383,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   394,    -1,
      -1,   397,    -1,    -1,    -1,   401,   402,    -1,   404,    -1,
      -1,    -1,    -1,   409,    -1,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,    -1,    -1,    -1,   423,   424,   425,
      -1,   427,   428,    -1,    -1,   431,    -1,   433,    -1,    -1,
      -1,    -1,    -1,    -1,   440,    -1,   442,   443,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,
       4,     5,     6,     7,     8,   461,    -1,   463,    12,    -1,
     466,    -1,    -1,   469,    -1,   471,    -1,   473,   474,   475,
      -1,    25,    -1,    -1,    28,    29,    30,    31,    -1,    33,
      34,    35,    36,    -1,    -1,    -1,    40,    -1,   494,    43,
      -1,    45,    46,    47,    48,    49,    -1,    51,    -1,    -1,
      54,    -1,    56,    -1,    -1,    59,    -1,    -1,    62,    63,
      64,    65,    66,    67,    -1,    -1,    70,    71,    72,    73,
      -1,    -1,    76,    -1,    78,    79,    80,    -1,    82,    -1,
      84,    85,    -1,    -1,    -1,    -1,    90,    91,    92,    93,
      -1,    95,    96,    97,    -1,    99,    -1,   101,   102,    -1,
      -1,   105,   106,    -1,   108,    -1,   110,    -1,    -1,   113,
      -1,    -1,    -1,    -1,   118,    -1,    -1,   121,    -1,    -1,
     124,   125,   126,    -1,   128,   129,   130,    -1,    -1,   133,
     134,    -1,   136,    -1,   138,   139,   140,    -1,    -1,    -1,
      -1,   145,    -1,   147,    -1,   149,    -1,    -1,    -1,   153,
      -1,    -1,   156,   157,   158,    -1,   160,    -1,   162,    -1,
      -1,   165,    -1,    -1,   168,    -1,    -1,    -1,    -1,    -1,
     174,   175,    -1,    -1,    -1,   179,    -1,   181,    -1,    -1,
      -1,   185,   186,   187,   188,   189,   190,   191,   192,   193,
     194,   195,   196,   197,   198,   199,   200,    -1,   202,   203,
     204,   205,   206,   207,   208,   209,    -1,   211,   212,   213,
      -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   231,   232,   233,
      -1,    -1,   236,   237,   238,   239,   240,   241,   242,   243,
      -1,    -1,    -1,    -1,   248,    -1,   250,    -1,   252,   253,
      -1,    -1,   256,   257,   258,   259,    -1,    -1,   262,   263,
     264,   265,   266,    -1,    -1,    -1,   270,   271,    -1,   273,
      -1,    -1,   276,   277,    -1,    -1,    -1,    -1,   282,    -1,
     284,   285,    -1,    -1,    -1,    -1,   290,    -1,   292,   293,
      -1,   295,    -1,    -1,    -1,   299,    -1,    -1,   302,    -1,
     304,    -1,    -1,    -1,    -1,   309,    -1,   311,   312,   313,
     314,    -1,    -1,    -1,   318,    -1,   320,   321,    -1,    -1,
     324,   325,    -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   337,   338,   339,    -1,   341,    -1,   343,
     344,   345,   346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,   382,   383,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     394,    -1,    -1,   397,    -1,    -1,    -1,   401,   402,    -1,
     404,    -1,    -1,    -1,    -1,   409,    -1,    -1,    -1,   413,
      -1,    -1,   416,   417,   418,   419,    -1,    -1,    -1,   423,
     424,   425,    -1,   427,   428,    -1,    -1,   431,    -1,   433,
      -1,    -1,    -1,    -1,    -1,    -1,   440,    -1,   442,   443,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   455,     4,     5,     6,     7,     8,   461,    -1,   463,
      12,    -1,   466,    -1,    -1,   469,    -1,   471,    -1,   473,
     474,   475,    -1,    25,    -1,    -1,    28,    29,    30,    31,
      -1,    33,    34,    35,    36,    -1,    -1,    -1,    40,    -1,
     494,    43,    -1,    45,    46,    47,    48,    49,    -1,    51,
      -1,    -1,    54,    -1,    56,    -1,    -1,    59,    -1,    -1,
      62,    63,    64,    65,    66,    67,    -1,    -1,    70,    71,
      72,    73,    -1,    -1,    76,    -1,    78,    79,    80,    -1,
      82,    -1,    84,    85,    -1,    -1,    -1,    -1,    90,    91,
      92,    93,    -1,    95,    96,    97,    -1,    99,    -1,   101,
     102,    -1,    -1,   105,   106,    -1,   108,    -1,   110,    -1,
      -1,   113,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,
      -1,    -1,   124,   125,   126,    -1,   128,   129,   130,    -1,
      -1,   133,   134,    -1,   136,    -1,   138,   139,   140,    -1,
      -1,    -1,    -1,   145,    -1,   147,    -1,   149,    -1,    -1,
      -1,   153,    -1,    -1,   156,   157,   158,    -1,   160,    -1,
     162,    -1,    -1,   165,    -1,    -1,   168,    -1,    -1,    -1,
      -1,    -1,   174,   175,   176,    -1,    -1,   179,    -1,   181,
      -1,    -1,    -1,   185,   186,   187,   188,   189,   190,   191,
     192,   193,   194,   195,   196,   197,   198,   199,   200,    -1,
     202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
     212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,
     222,   223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   231,
     232,   233,    -1,    -1,   236,   237,   238,   239,   240,   241,
     242,   243,    -1,    -1,    -1,    -1,   248,    -1,   250,    -1,
     252,   253,    -1,    -1,   256,   257,   258,   259,    -1,    -1,
     262,   263,   264,   265,   266,    -1,    -1,    -1,   270,   271,
      -1,   273,    -1,    -1,   276,   277,    -1,   279,    -1,    -1,
     282,    -1,   284,   285,    -1,    -1,    -1,    -1,   290,    -1,
     292,   293,    -1,   295,    -1,    -1,    -1,   299,    -1,    -1,
     302,    -1,   304,    -1,    -1,    -1,    -1,   309,    -1,   311,
     312,   313,   314,    -1,    -1,    -1,   318,    -1,   320,   321,
      -1,    -1,   324,   325,    -1,   327,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   337,   338,   339,    -1,   341,
      -1,   343,   344,   345,   346,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,
     382,   383,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   394,    -1,    -1,   397,    -1,    -1,    -1,   401,
     402,    -1,   404,    -1,    -1,    -1,    -1,   409,    -1,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,    -1,    -1,
      -1,   423,   424,   425,    -1,   427,   428,    -1,    -1,   431,
      -1,   433,    -1,    -1,    -1,    -1,    -1,    -1,   440,    -1,
     442,   443,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   455,     4,     5,     6,     7,     8,   461,
      -1,   463,    12,    -1,   466,    -1,    -1,   469,    -1,   471,
      -1,   473,   474,   475,    -1,    25,    -1,    -1,    28,    29,
      30,    31,    -1,    33,    34,    35,    36,    -1,    -1,    -1,
      40,   493,    -1,    43,    -1,    45,    46,    47,    48,    49,
      -1,    51,    -1,    -1,    54,    -1,    56,    -1,    -1,    59,
      -1,    -1,    62,    63,    64,    65,    66,    67,    -1,    -1,
      70,    71,    72,    73,    -1,    -1,    76,    -1,    78,    79,
      80,    -1,    82,    -1,    84,    85,    -1,    -1,    -1,    -1,
      90,    91,    92,    93,    -1,    95,    96,    97,    -1,    99,
      -1,   101,   102,    -1,    -1,   105,   106,    -1,   108,    -1,
     110,    -1,    -1,   113,    -1,    -1,    -1,    -1,   118,    -1,
      -1,   121,    -1,    -1,   124,   125,   126,    -1,   128,   129,
     130,    -1,    -1,   133,   134,    -1,   136,    -1,   138,   139,
     140,    -1,    -1,    -1,    -1,   145,    -1,   147,    -1,   149,
      -1,    -1,    -1,   153,    -1,    -1,   156,   157,   158,    -1,
     160,    -1,   162,    -1,    -1,   165,    -1,    -1,   168,    -1,
      -1,    -1,    -1,    -1,   174,   175,   176,    -1,    -1,   179,
      -1,   181,    -1,    -1,    -1,   185,   186,   187,   188,   189,
     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
     200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
      -1,   211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,
     220,    -1,   222,   223,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   231,   232,   233,    -1,    -1,   236,   237,   238,   239,
     240,   241,   242,   243,    -1,    -1,    -1,    -1,   248,    -1,
     250,    -1,   252,   253,    -1,    -1,   256,   257,   258,   259,
      -1,    -1,   262,   263,   264,   265,   266,    -1,    -1,    -1,
     270,   271,    -1,   273,    -1,    -1,   276,   277,    -1,   279,
      -1,    -1,   282,    -1,   284,   285,    -1,    -1,    -1,    -1,
     290,    -1,   292,   293,    -1,   295,    -1,    -1,    -1,   299,
      -1,    -1,   302,    -1,   304,    -1,    -1,    -1,    -1,   309,
      -1,   311,   312,   313,   314,    -1,    -1,    -1,   318,    -1,
     320,   321,    -1,    -1,   324,   325,    -1,   327,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,   338,   339,
      -1,   341,    -1,   343,   344,   345,   346,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   356,     9,    10,    11,
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
      -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,    -1,    -1,
      -1,    -1,   382,   383,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   394,    -1,    -1,   397,    -1,    -1,
      -1,   401,   402,    -1,   404,    -1,    -1,    -1,    -1,   409,
      -1,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
      -1,    -1,    -1,   423,   424,   425,    -1,   427,   428,    -1,
      -1,   431,    -1,   433,    -1,    87,    -1,    -1,    -1,    -1,
     440,    -1,   442,   443,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   455,    -1,    -1,    -1,    -1,
      -1,   461,    -1,   463,    -1,    -1,   466,    -1,    -1,   469,
      -1,   471,    -1,   473,   474,   475,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   493,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   167,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,
      -1,    -1,     9,    10,    11,    12,    13,    14,    15,    16,
      17,    18,    19,    20,    21,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
      -1,    -1,    -1,    -1,   216,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    87,    -1,   226,   227,    -1,    -1,    -1,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,    -1,    -1,    -1,   247,     9,    10,    11,    12,
      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,     9,    10,    11,    12,    13,    14,    15,    16,    17,
      18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   167,    -1,    -1,    -1,    -1,    87,   310,    -1,
      -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     167,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     177,   216,    -1,   167,    -1,    -1,   358,    -1,    -1,    87,
      -1,   226,   227,   177,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   247,    -1,    -1,    -1,    -1,   167,    -1,   216,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,   226,
     227,    -1,   216,    -1,   167,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   226,   227,   177,    -1,    -1,    -1,    -1,    -1,
     247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   247,    -1,    -1,   216,    -1,    -1,   167,
      -1,    -1,    -1,    -1,    -1,   310,   226,   227,    -1,   177,
      -1,    -1,    -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   226,   227,    -1,    -1,   247,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,
     482,   483,   484,   310,   247,    -1,   488,   489,   216,    -1,
      -1,    -1,    -1,   358,    -1,    -1,   310,    -1,   226,   227,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     310,   358,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   358,    -1,    -1,   310,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,
      -1,    -1,   310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   358,    -1,    -1,    -1,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,   477,   478,   479,   480,   481,   482,   483,   484,
      -1,    -1,    -1,   488,   489,    -1,    -1,    -1,    -1,    -1,
     358,    -1,    -1,    87,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,    -1,    -1,    -1,
     477,   478,   479,   480,   481,   482,   483,   484,    -1,    -1,
      -1,   488,   489,   477,   478,   479,   480,   481,   482,   483,
     484,    -1,    -1,    -1,   488,   489,    -1,    87,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,   479,
     480,   481,   482,   483,   484,    -1,    -1,    -1,   488,   489,
      -1,    -1,    87,   167,   477,   478,   479,   480,   481,   482,
     483,   484,    -1,   177,    -1,   488,   489,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   144,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,   477,
     478,   479,   480,   481,   482,   483,   484,   167,    -1,    -1,
     488,   489,   216,    -1,    -1,    -1,    -1,   177,    -1,    -1,
      -1,    -1,   226,   227,    -1,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
      -1,    -1,   167,   247,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   177,    -1,    -1,    -1,   216,    -1,    -1,    -1,
      -1,    -1,    -1,    87,    -1,    -1,   226,   227,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,
      -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   226,   227,    87,    -1,    -1,   310,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   247,     9,    10,    11,    12,    13,    14,    15,
      16,    17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   167,    -1,    -1,    -1,    -1,    -1,    -1,
     310,    -1,    -1,   177,   358,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,    -1,   167,    -1,   310,    -1,    -1,    -1,    -1,
      -1,    -1,   216,   177,    -1,    -1,    -1,    -1,   358,    -1,
      -1,    87,   226,   227,    -1,    -1,    -1,    -1,    -1,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,    -1,   247,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   216,   358,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   226,   227,    -1,    -1,    -1,    87,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   477,   478,   479,   480,   481,   482,   483,
     484,   167,    -1,    -1,   488,   489,   310,    87,    -1,    -1,
      -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,   479,
     480,   481,   482,   483,   484,    -1,   310,   167,    -1,   489,
     216,    -1,    -1,    -1,   358,    -1,    -1,   177,    -1,    -1,
     226,   227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   477,   478,   479,   480,   481,   482,   483,   484,
      -1,   247,    -1,   488,   489,    -1,    -1,   167,    -1,    -1,
      -1,    -1,    -1,    -1,   358,    -1,   216,   177,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,    -1,
      -1,    -1,    -1,     9,    10,    11,    12,    13,    14,    15,
      16,    17,    18,    19,    20,    21,    -1,   247,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   310,    -1,   226,   227,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,
      -1,    -1,    -1,   477,   478,   479,   480,   481,   482,   483,
     484,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,    -1,
     310,    87,   358,    -1,    -1,    -1,    -1,    -1,     9,    10,
      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
      21,    -1,    -1,   477,   478,   479,   480,   481,   482,   483,
     484,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,    -1,
     310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   167,    -1,    -1,    -1,    -1,    87,    -1,   358,    -1,
      -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   477,   478,   479,   480,   481,   482,   483,   484,    -1,
     216,    -1,   488,   489,    -1,    -1,    -1,    87,    -1,    -1,
     226,   227,    -1,    -1,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,    -1,    -1,    -1,
      -1,   247,    -1,    -1,    -1,    -1,   167,   477,   478,   479,
     480,   481,   482,   483,   484,    -1,   177,    87,   488,   489,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,   479,
     480,   481,   482,   483,   484,   216,    -1,   167,   488,   489,
      -1,    -1,    87,    -1,   310,   226,   227,   177,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   216,   177,    -1,    -1,
      -1,    -1,   358,    -1,    -1,    -1,   226,   227,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,
      -1,    -1,   167,    -1,    -1,    -1,   216,    -1,    -1,   310,
      -1,    -1,   177,    -1,    -1,    -1,   226,   227,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,     9,    10,
      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
      21,   216,    -1,    -1,    -1,    -1,    -1,   358,    -1,    -1,
     310,   226,   227,    -1,    -1,    -1,    -1,    -1,     9,    10,
      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
      21,    -1,   247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   477,   478,   479,   480,   481,   482,   483,   484,    -1,
     310,    -1,   488,   489,    -1,    -1,    -1,    -1,   358,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   310,    87,    -1,   358,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   477,   478,   479,   480,
     481,   482,   483,   484,    -1,    -1,    -1,    -1,   489,    -1,
      -1,    -1,    -1,   358,    -1,    -1,   167,    87,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   167,   477,   478,   479,
     480,   481,   482,   483,   484,    -1,   177,    -1,    -1,   489,
      -1,    -1,    -1,    -1,    -1,   216,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,   479,
     480,   481,   482,   483,   484,   216,   247,   167,    -1,   489,
      -1,    -1,    -1,    -1,    -1,   226,   227,   177,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,
      -1,    -1,   477,   478,   479,   480,   481,   482,   483,   484,
      -1,    -1,    -1,    -1,   489,    -1,   216,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,   310,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   310,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,     9,    10,
      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
      21,     9,    10,    11,    12,    13,    14,    15,    16,    17,
      18,    19,    20,    21,    -1,    -1,    -1,   358,    -1,    -1,
     310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,     9,    10,    11,    12,    13,    14,    15,    16,
      17,    18,    19,    20,    21,    -1,    87,    -1,   358,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,     9,    10,    11,    12,    13,    14,    15,
      16,    17,    18,    19,    20,    21,   477,   478,   479,   480,
     481,   482,   483,   484,    -1,    -1,    -1,    87,   489,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      87,    -1,    -1,    -1,    -1,    -1,   477,   478,   479,   480,
     481,   482,   483,   484,    -1,    -1,   167,    -1,   489,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,    87,   167,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,
      -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,   479,
     480,   481,   482,   483,   484,   216,    -1,   167,    -1,   489,
      -1,    -1,    -1,    -1,    -1,   226,   227,   177,   216,    -1,
     167,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,
     177,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,   247,
      -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,   177,    -1,
      -1,   167,    -1,    -1,    -1,    -1,   226,   227,    -1,   216,
      -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,
     227,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,   310,
     247,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,
     216,    -1,   310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     226,   227,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   247,    -1,    -1,    -1,    -1,    -1,   358,    -1,    -1,
     310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     358,    -1,    -1,   310,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   310,    -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,
      -1,    -1,    -1,    -1,   310,    -1,    -1,    -1,    -1,    -1,
      -1,   358,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,     9,    10,    11,    12,    13,    14,    15,    16,    17,
      18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,   358,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   358,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   477,   478,   479,   480,
     481,   482,   483,   484,    -1,    -1,    -1,    -1,   489,   477,
     478,   479,   480,   481,   482,   483,   484,    -1,    -1,    -1,
      -1,   489,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,
      -1,    -1,     9,    10,    11,    12,    13,    14,    15,    16,
      17,    18,    19,    20,    21,    -1,    -1,   477,   478,   479,
     480,   481,   482,   483,   484,    -1,    -1,    -1,    -1,   489,
     477,   478,   479,   480,   481,   482,   483,   484,    -1,    -1,
      -1,    -1,   489,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,
     479,   480,   481,   482,   483,   484,    -1,    -1,    -1,    -1,
     489,   477,   478,   479,   480,   481,   482,   483,   484,   167,
      87,    -1,    -1,   489,    -1,    -1,    -1,    -1,    -1,   177,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,    10,    11,
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,    -1,    -1,    -1,    -1,    -1,   216,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,   247,
     167,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     177,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,
      -1,    -1,    -1,    -1,    -1,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,   216,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,   226,
     227,    -1,   310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   167,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   177,    -1,    -1,   167,    -1,
     358,    -1,    -1,    87,    -1,    -1,    -1,    -1,   177,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,    -1,
      -1,    -1,    -1,   310,   216,    -1,    -1,    -1,   177,    -1,
      -1,    -1,    -1,    -1,   226,   227,    -1,   216,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,
      -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,   247,    -1,
      -1,   358,    -1,   167,    -1,    -1,    -1,   226,   227,    -1,
      -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,
     478,   479,   480,   481,   482,   483,   484,    -1,   310,    -1,
      -1,   489,   216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   310,   226,   227,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   310,    -1,    -1,    -1,    -1,   358,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     477,   478,   479,   480,   481,   482,   483,   484,    -1,    -1,
      -1,    -1,   489,    -1,    -1,    -1,    -1,    -1,    -1,   358,
      -1,    -1,    -1,    -1,    -1,    -1,   310,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,     9,    10,    11,    12,    13,    14,    15,
      16,    17,    18,    19,    20,    21,     9,    10,    11,    12,
      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
      -1,    -1,    -1,    -1,   358,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,
     482,   483,   484,    -1,    -1,    -1,    -1,   489,   477,   478,
     479,   480,   481,   482,   483,   484,    -1,    -1,    -1,    -1,
     489,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,   477,   478,
     479,   480,   481,   482,   483,   484,    -1,    -1,    -1,    -1,
     489,    -1,    -1,    87,    -1,    -1,     9,    10,    11,    12,
      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   477,   478,   479,   480,   481,   482,   483,
     484,   167,    -1,    -1,    -1,   489,    -1,    -1,    -1,    -1,
      -1,   177,    -1,    -1,   167,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   167,    87,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,    87,    -1,
     216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     226,   227,    -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,
      -1,   247,   216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   226,   227,   247,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   247,   167,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,   167,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,
      -1,    -1,    -1,    -1,   310,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   310,    -1,    -1,
      -1,    -1,    -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   226,   227,    -1,   310,   216,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,
      -1,    -1,   358,    -1,   247,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   358,    -1,    -1,   247,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   358,    -1,    -1,    -1,    -1,    -1,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,    -1,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,   310,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,    10,
      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
      21,    -1,    -1,    -1,    -1,   358,    -1,    -1,    87,    -1,
      -1,   477,   478,   479,   480,   481,   482,   483,   484,   358,
      -1,    -1,    87,   489,   477,   478,   479,   480,   481,   482,
     483,   484,    -1,    -1,    -1,    -1,   489,    -1,    -1,    -1,
      -1,    -1,    -1,   477,   478,   479,   480,   481,   482,   483,
     484,    -1,    -1,    -1,    -1,   489,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,    -1,   167,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,
      -1,    -1,   167,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,   482,
     483,   484,    -1,    -1,    -1,    -1,   489,   216,   477,   478,
     479,   480,   481,   482,   483,   484,   167,   226,   227,    -1,
     489,   216,    87,    -1,    -1,    -1,   177,    -1,    -1,    -1,
      -1,   226,   227,    -1,    -1,    -1,    -1,    -1,   247,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   216,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,
      -1,   310,   167,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   177,    -1,    -1,   310,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,     9,    10,    11,    12,    13,    14,    15,    16,
      17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,   358,
      -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   310,
      -1,   226,   227,   358,    -1,    -1,     9,    10,    11,    12,
      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
      -1,    -1,   247,     9,    10,    11,    12,    13,    14,    15,
      16,    17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,    -1,
      87,    -1,    -1,     9,    10,    11,    12,    13,    14,    15,
      16,    17,    18,    19,    20,    21,    -1,     9,    10,    11,
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
      -1,    -1,    -1,    -1,    87,   310,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,
     479,   480,   481,   482,   483,   484,    -1,    -1,    -1,    -1,
     489,    -1,   477,   478,   479,   480,   481,   482,   483,   484,
     167,    87,    -1,   358,   489,    -1,    -1,    -1,    -1,    -1,
     177,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   167,    -1,   477,   478,   479,   480,
     481,   482,   483,   484,   177,    -1,    -1,    -1,   489,   216,
      -1,   167,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,
     227,   177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     247,   167,    -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   177,    -1,   226,   227,   167,    -1,    -1,    -1,    -1,
     216,    -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,
     226,   227,    -1,    -1,   247,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   477,   478,   479,   480,   481,   482,   483,   484,
     216,   247,    -1,    -1,   489,    -1,    -1,    -1,    -1,    -1,
     226,   227,    -1,   310,   216,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,
      -1,   247,     9,    10,    11,    12,    13,    14,    15,    16,
      17,    18,    19,    20,    21,   247,    -1,   310,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   358,    -1,    -1,   310,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   310,   358,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   310,    -1,
      87,    -1,   358,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
      -1,    -1,   358,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,    -1,    -1,
      -1,    -1,     9,    10,    11,    12,    13,    14,    15,    16,
      17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,
     477,   478,   479,   480,   481,   482,   483,   484,    -1,    -1,
     167,    -1,   489,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     177,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,   482,
     483,   484,    -1,    -1,    -1,    -1,   489,    -1,    -1,    -1,
      -1,   477,   478,   479,   480,   481,   482,   483,   484,   216,
      87,    -1,    -1,   489,    -1,    -1,    -1,    -1,    -1,   226,
     227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   477,   478,   479,   480,   481,   482,   483,   484,    -1,
     247,    -1,    -1,   489,    -1,   477,   478,   479,   480,   481,
     482,   483,   484,   167,    -1,    -1,    -1,   489,    -1,    -1,
      -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,    10,    11,
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     167,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     177,    -1,   216,   310,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,    -1,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,   247,    -1,    -1,    -1,    -1,    -1,   216,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,
     227,   358,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     247,    -1,    -1,     9,    10,    11,    12,    13,    14,    15,
      16,    17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   310,    -1,    87,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,     9,    10,    11,    12,    13,    14,    15,
      16,    17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   310,    -1,   167,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   358,   177,    -1,    -1,    -1,    -1,
      -1,    87,    -1,    -1,    -1,   144,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     477,   478,   479,   480,   481,   482,   483,   484,   167,    -1,
      -1,   358,   489,    -1,   216,    -1,    -1,    -1,   177,    -1,
      -1,    87,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,    -1,
      -1,   167,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,
      -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,
      -1,    -1,    -1,   477,   478,   479,   480,   481,   482,   483,
     484,   167,    -1,    -1,    -1,   489,    -1,    -1,   310,    -1,
     216,   177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     226,   227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     477,   478,   479,   480,   481,   482,   483,   484,    -1,    -1,
      -1,   247,   489,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     216,   310,    -1,    -1,    -1,    -1,   358,    -1,    -1,    -1,
     226,   227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   247,     9,    10,    11,    12,    13,    14,    15,    16,
      17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,   358,
      -1,    -1,    -1,    -1,   310,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,     9,    10,    11,    12,    13,    14,    15,    16,
      17,    18,    19,    20,    21,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
      -1,    -1,    -1,    -1,   310,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   358,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,
     482,   483,   484,   389,    -1,    -1,    -1,   489,    -1,    -1,
      87,    -1,   358,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,
     479,   480,   481,   482,   483,   484,    -1,    -1,    -1,   488,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     167,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     167,   477,   478,   479,   480,   481,   482,   483,   484,    -1,
     177,    -1,   488,   167,    -1,    -1,    -1,    -1,    -1,   216,
      -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,   226,
     227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   477,   478,   479,   480,   481,   482,   483,   484,   216,
     247,    -1,   488,    -1,    -1,    -1,    -1,    -1,    -1,   226,
     227,    -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,    -1,
     247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   310,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,   310,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   310,    -1,    -1,    -1,
      -1,   358,    -1,    -1,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,     9,    10,    11,
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
      -1,   358,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   358,    -1,    -1,    -1,    87,    -1,
      -1,     9,    10,    11,    12,    13,    14,    15,    16,    17,
      18,    19,    20,    21,    -1,    -1,    -1,    -1,     9,    10,
      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
      21,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,    -1,    -1,    -1,
     477,   478,   479,   480,   481,   482,   483,   484,   167,    87,
      -1,   488,    -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,
     477,   478,   479,   480,   481,   482,   483,   484,    -1,    -1,
      -1,   488,   167,   477,   478,   479,   480,   481,   482,   483,
     484,    -1,   177,    -1,   488,   167,    -1,   216,    -1,    -1,
      -1,    -1,    87,    -1,    -1,   177,    -1,   226,   227,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,   167,
      -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,
      -1,   226,   227,    -1,   216,    -1,   167,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   226,   227,   177,    -1,    -1,    -1,
      -1,    -1,   247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,   216,    -1,
      -1,    -1,   167,    -1,    -1,    -1,    -1,    -1,   226,   227,
      -1,   310,   177,    -1,    -1,   216,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   226,   227,    -1,    -1,   247,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,    -1,    -1,   310,   247,    -1,    -1,    -1,
      -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,   310,   358,
      -1,   226,   227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   310,   358,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,    87,   310,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,    10,    11,
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     358,    -1,    -1,    -1,    -1,   310,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,    -1,
      -1,    -1,    -1,    -1,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,    -1,   477,   478,
     479,   480,   481,   482,   483,   484,    -1,    -1,   167,   488,
      -1,    -1,    -1,   358,    -1,    87,    -1,    -1,   177,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   477,   478,   479,   480,   481,   482,   483,   484,
      -1,    -1,    -1,   488,    -1,   477,   478,   479,   480,   481,
     482,   483,   484,    -1,    -1,    -1,   488,   216,    -1,    -1,
      -1,    -1,    87,    -1,    -1,    -1,    -1,   226,   227,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,
     478,   479,   480,   481,   482,   483,   484,    -1,   247,    -1,
     488,    -1,    -1,    -1,    -1,   167,   477,   478,   479,   480,
     481,   482,   483,   484,    -1,   177,    -1,   488,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,   477,   478,   479,   480,   481,   482,   483,   484,
      -1,    -1,   167,   488,   216,    -1,    -1,    -1,    -1,    -1,
      -1,   310,   177,    -1,   226,   227,    -1,    -1,    -1,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,    -1,    -1,    -1,   247,     9,    10,    11,    12,
      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
      -1,   216,    -1,    -1,    -1,    -1,    -1,    87,    -1,   358,
      -1,   226,   227,    -1,    -1,    -1,     9,    10,    11,    12,
      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
      -1,    -1,   247,     9,    10,    11,    12,    13,    14,    15,
      16,    17,    18,    19,    20,    21,    -1,    87,   310,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    87,    -1,    -1,     9,    10,    11,
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,    -1,    -1,
      -1,    -1,    -1,    -1,    87,   310,   358,   177,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    87,    -1,    -1,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,   167,   477,   478,
     479,   480,   481,   482,   483,   484,   216,   177,    -1,   488,
      -1,    -1,    -1,   358,   167,    87,   226,   227,    -1,    -1,
      -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,
      -1,    -1,    -1,    -1,   167,    -1,   216,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   177,    -1,   226,   227,    -1,    -1,
      -1,   167,    87,   216,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   177,    -1,   226,   227,    -1,    -1,   247,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,
     482,   483,   484,   216,   247,   167,   488,    -1,    -1,    -1,
     310,    -1,    -1,   226,   227,   177,    -1,    -1,    -1,    -1,
     216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     226,   227,    -1,    -1,   247,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   477,   478,   479,   480,   481,   482,   483,   484,
     310,   247,   167,   488,   216,    -1,    -1,    -1,   358,    -1,
      -1,    -1,   177,    -1,   226,   227,    -1,   310,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   310,   358,    -1,
      -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   226,   227,    -1,   310,   358,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   358,    -1,    -1,   310,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   358,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,   479,
     480,   481,   482,   483,   484,    -1,    -1,    -1,   488,    -1,
      -1,    -1,    -1,    -1,    -1,   310,   358,    -1,    -1,    -1,
      -1,    -1,     9,    10,    11,    12,    13,    14,    15,    16,
      17,    18,    19,    20,    21,    -1,    -1,   477,   478,   479,
     480,   481,   482,   483,   484,    -1,    -1,    -1,   488,    -1,
      -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,   482,
     483,   484,    -1,   358,    -1,   488,     9,    10,    11,    12,
      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
      -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,   482,
     483,   484,    -1,    -1,    -1,   488,    -1,    -1,    -1,    -1,
      87,   477,   478,   479,   480,   481,   482,   483,   484,    -1,
      -1,    -1,   488,     9,    10,    11,    12,    13,    14,    15,
      16,    17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,
     482,   483,   484,    -1,    87,    -1,   488,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,    10,    11,
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     167,    -1,   477,   478,   479,   480,   481,   482,   483,   484,
     177,    87,    -1,   488,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,     9,    10,    11,    12,    13,    14,    15,    16,    17,
      18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   167,    -1,    -1,    -1,    -1,   216,
      -1,    -1,    -1,    -1,   177,    87,    -1,    -1,    -1,   226,
     227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   167,    -1,   216,    -1,    -1,    -1,    -1,    -1,    87,
      -1,   177,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   167,    -1,    -1,    -1,    -1,
     216,    -1,    -1,   310,    -1,   177,    -1,    -1,    -1,    -1,
     226,   227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,
      -1,    -1,    -1,    -1,   216,    -1,    -1,   310,    -1,   177,
      -1,   358,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,
      -1,    -1,    -1,    -1,   310,   358,    -1,    -1,   226,   227,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,    -1,    -1,    -1,    -1,    -1,   310,    -1,
      -1,    -1,   358,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
     477,   478,   479,   480,   481,   482,   483,   484,    -1,    -1,
      -1,   488,   310,    -1,    -1,    -1,   358,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,    -1,    -1,   477,   478,   479,   480,   481,   482,
     483,   484,    -1,    -1,    -1,   488,    -1,    -1,    -1,    -1,
     358,    -1,    -1,    87,    -1,    -1,     9,    10,    11,    12,
      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   477,   478,   479,   480,   481,   482,   483,   484,    -1,
      -1,    -1,   488,    -1,    -1,    -1,    -1,    87,   167,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,
     482,   483,   484,   167,    87,    -1,   488,    -1,    -1,    -1,
      -1,    -1,    -1,   177,    -1,    -1,    -1,   216,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,
     478,   479,   480,   481,   482,   483,   484,   167,   247,    -1,
     488,    -1,   216,    -1,    -1,    -1,    -1,   177,    -1,    -1,
      -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   247,   167,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   177,    -1,   216,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,    -1,
      -1,   310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,
      -1,    -1,    -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   226,   227,    -1,   310,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,
      -1,    -1,    -1,    -1,   247,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     310,    -1,    -1,    -1,   358,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,    10,
      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
      21,    -1,    -1,    -1,    -1,    -1,    -1,   310,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,
      -1,    -1,    -1,    87,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,    -1,    -1,    -1,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,    -1,    -1,   358,    -1,    -1,   477,   478,
     479,   480,   481,   482,   483,   484,    87,    -1,    -1,   488,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,   477,   478,   479,   480,   481,   482,   483,
     484,    -1,    87,   167,   488,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,    87,    -1,
      -1,    -1,     9,    10,    11,    12,    13,    14,    15,    16,
      17,    18,    19,    20,    21,    -1,    -1,   477,   478,   479,
     480,   481,   482,   483,   484,    -1,   167,    -1,   488,    -1,
      -1,    -1,   216,    -1,    -1,    -1,   177,    -1,    87,    -1,
      -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,   482,
     483,   484,   167,   247,    -1,   488,    -1,    -1,    -1,    -1,
      -1,    -1,   177,    -1,    -1,   216,    -1,    -1,   167,    -1,
      87,    -1,    -1,    -1,    -1,   226,   227,    -1,   177,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,
      -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,   167,    -1,
      -1,   226,   227,    -1,    -1,    -1,   310,   216,   177,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,
      -1,    -1,   247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,
     167,    -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,   310,
     177,    -1,    -1,    -1,   358,    -1,    -1,   226,   227,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,
      -1,    -1,    -1,    -1,    -1,   310,    -1,    -1,    -1,   216,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,   226,
     227,   310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   358,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,    10,
      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
      21,    -1,    -1,   477,   478,   479,   480,   481,   482,   483,
     484,    -1,    -1,   310,   488,    -1,    -1,    -1,    -1,   358,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,    -1,    -1,    -1,   477,   478,   479,   480,
     481,   482,   483,   484,    -1,    -1,    -1,   488,    -1,    -1,
      -1,   358,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   477,   478,   479,   480,   481,   482,   483,   484,
      -1,    -1,    -1,   488,    -1,    -1,    -1,    -1,   477,   478,
     479,   480,   481,   482,   483,   484,    -1,    -1,    87,   488,
      -1,    -1,    -1,    -1,    -1,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,
     479,   480,   481,   482,   483,   484,   167,    -1,    -1,   488,
      -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,    10,    11,
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     477,   478,   479,   480,   481,   482,   483,   484,   167,    -1,
      -1,   488,    -1,    87,    -1,   216,    -1,    -1,   177,    -1,
      -1,    -1,    -1,    -1,    -1,   226,   227,     9,    10,    11,
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
      -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    87,    -1,   226,   227,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,
      -1,    -1,    -1,   167,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   177,    -1,    87,    -1,    -1,    -1,   310,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,    10,
      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
      21,    -1,   216,    -1,    -1,   167,    -1,    -1,    -1,    -1,
      -1,   310,   226,   227,    -1,   177,    -1,   358,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   167,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   216,   177,    -1,    -1,    -1,   358,
      -1,    -1,    -1,    -1,   226,   227,    87,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   216,    -1,   310,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   477,   478,   479,   480,
     481,   482,   483,   484,   358,    -1,   167,   488,   310,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,   477,   478,
     479,   480,   481,   482,   483,   484,    -1,    -1,   310,   488,
      -1,    -1,    -1,    -1,    -1,   216,   358,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   226,   227,     9,    10,    11,
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
      -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,    -1,    -1,
      -1,    -1,    -1,    87,    -1,    -1,    -1,     9,    10,    11,
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
      -1,    -1,    -1,   477,   478,   479,   480,   481,   482,   483,
     484,    -1,    -1,    -1,   488,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,   310,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,
     482,   483,   484,   167,    -1,    87,   488,    -1,    -1,    -1,
      -1,    -1,    -1,   177,    -1,    -1,    -1,   358,    -1,    -1,
      -1,    -1,     9,    10,    11,    12,    13,    14,    15,    16,
      17,    18,    19,    20,    21,   477,   478,   479,   480,   481,
     482,   483,   484,    -1,    -1,   167,   488,    -1,    -1,    -1,
      -1,    -1,   216,    -1,    -1,   177,    -1,    -1,    -1,    -1,
      -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   247,    -1,   167,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   216,   177,    -1,    -1,    -1,    -1,
      87,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   216,    -1,   477,   478,   479,   480,
     481,   482,   483,   484,   226,   227,   310,   488,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   247,    -1,     9,    10,    11,
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     167,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   310,    -1,
     177,    -1,    -1,    -1,   358,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   310,   216,
      -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,    -1,   226,
     227,    -1,    -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     247,    -1,     9,    10,    11,    12,    13,    14,    15,    16,
      17,    18,    19,    20,    21,    -1,   358,    -1,    -1,    -1,
      -1,    -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   477,   478,   479,   480,   481,   482,   483,
     484,    -1,    -1,   310,   488,   167,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,
      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,
     482,   483,   484,   167,    -1,    -1,   488,    -1,    -1,    -1,
      -1,   358,    -1,   177,   216,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,
     482,   483,   484,    -1,    -1,   247,   488,    -1,    -1,    -1,
      -1,    -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     167,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,    -1,
     177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   247,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   310,   216,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,
     227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     477,   478,   479,   480,   481,   482,   483,   484,    -1,    -1,
     247,   488,    -1,    -1,    -1,    -1,   310,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,    -1,    -1,
      -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,     9,    10,    11,    12,    13,    14,    15,    16,    17,
      18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   358,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   310,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,     9,    10,    11,    12,    13,    14,    15,    16,    17,
      18,    19,    20,    21,    -1,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
      -1,    -1,   167,    -1,    -1,    -1,    -1,    -1,    -1,    87,
      -1,   358,   177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,
     482,   483,   484,    -1,    -1,    -1,   488,    -1,    -1,    87,
      -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   226,   227,    87,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   477,   478,   479,   480,   481,   482,   483,
     484,    -1,   247,    -1,   488,    -1,    -1,    -1,    -1,   167,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,
     477,   478,   479,   480,   481,   482,   483,   484,   216,   177,
      -1,   488,    -1,   167,    -1,   310,    -1,    -1,   226,   227,
      -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,
      -1,    -1,   216,   358,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,   247,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,   247,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,    -1,    -1,    -1,
      -1,    -1,   310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     358,    -1,    -1,    -1,    -1,    -1,   310,    -1,    87,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   477,   478,   479,   480,   481,   482,   483,   484,
     358,    -1,    -1,   488,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    87,    -1,   358,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,
     478,   479,   480,   481,   482,   483,   484,    -1,    -1,    -1,
     488,    -1,   167,    -1,    -1,    -1,    -1,   216,    -1,    -1,
      -1,    -1,   177,    87,    -1,    -1,    -1,   226,   227,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,
     478,   479,   480,   481,   482,   483,   484,    -1,   247,    -1,
     488,    -1,    -1,   477,   478,   479,   480,   481,   482,   483,
     484,   216,    -1,    -1,   488,    -1,    -1,    -1,    -1,    -1,
      -1,   226,   227,    -1,    -1,    -1,    -1,    -1,    -1,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,   247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   167,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   310,    -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   216,    -1,    -1,   310,    -1,    87,    -1,   358,
      -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   247,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,    -1,    -1,    -1,
      -1,    -1,    -1,   358,    -1,    -1,    -1,    -1,    87,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   310,   177,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    87,    -1,    -1,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,   477,   478,
     479,   480,   481,   482,   483,   484,   216,    -1,   167,   488,
      -1,    -1,    -1,    -1,   358,    -1,   226,   227,   177,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,
      -1,    -1,   477,   478,   479,   480,   481,   482,   483,   484,
      -1,    -1,    -1,   488,    -1,    -1,    -1,   216,    -1,    -1,
      -1,    -1,   167,    87,    -1,    -1,    -1,   226,   227,    -1,
      -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   226,   227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   477,   478,   479,   480,   481,   482,   483,
     484,    -1,   247,   167,   488,    -1,    -1,    -1,   358,    -1,
      -1,   310,    -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,     9,    10,    11,    12,    13,    14,    15,
      16,    17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,
      -1,    -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,   358,
      -1,    -1,   226,   227,    -1,   310,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   247,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    87,    -1,   358,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,   477,   478,   479,
     480,   481,   482,   483,   484,    -1,    -1,    -1,   488,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   310,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,
     479,   480,   481,   482,   483,   484,    -1,    -1,    -1,   488,
      -1,   167,    87,    -1,   358,    -1,    -1,    -1,    -1,    -1,
      -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,     9,    10,    11,    12,    13,    14,    15,    16,
      17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   477,   478,   479,   480,   481,   482,   483,   484,
     216,    -1,   167,   488,    -1,    -1,    -1,    -1,    -1,    -1,
     226,   227,   177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   247,   167,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      87,   216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   226,   227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   477,   478,   479,   480,   481,   482,   483,
     484,   216,   247,    -1,   488,    -1,    -1,    -1,    -1,    -1,
      -1,   226,   227,    -1,   310,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   247,     9,    10,    11,    12,    13,    14,    15,
      16,    17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,
     167,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     177,    -1,   358,    -1,    -1,   310,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   310,    -1,    -1,    -1,   216,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,
     227,    87,    -1,   358,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   358,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,     9,    10,    11,    12,    13,    14,    15,    16,    17,
      18,    19,    20,    21,    -1,    -1,    -1,     9,    10,    11,
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
      -1,   477,   478,   479,   480,   481,   482,   483,   484,    -1,
      -1,   167,   488,   310,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,     9,    10,    11,    12,    13,    14,    15,    16,
      17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,    87,
      -1,    -1,   477,   478,   479,   480,   481,   482,   483,   484,
     216,   358,    -1,   488,    -1,    87,    -1,    -1,    -1,    -1,
     226,   227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   477,   478,   479,   480,   481,   482,   483,   484,
      -1,   247,    -1,   488,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,
      -1,    -1,    -1,    -1,    -1,   167,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   310,   177,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,
     477,   478,   479,   480,   481,   482,   483,   484,   226,   227,
     167,   488,    -1,    -1,   216,    -1,    -1,    -1,    -1,    -1,
     177,    -1,   358,    -1,   226,   227,    -1,    -1,    -1,   247,
      -1,     9,    10,    11,    12,    13,    14,    15,    16,    17,
      18,    19,    20,    21,    -1,   247,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,
     227,    -1,    -1,    -1,    -1,    -1,     9,    10,    11,    12,
      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
     247,    -1,   310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   310,    87,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     358,   477,   478,   479,   480,   481,   482,   483,   484,    -1,
      -1,    -1,   488,   310,    87,    -1,   358,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    94,    95,    96,    97,    -1,    -1,   167,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,
      -1,   358,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   140,
      -1,    -1,    -1,    -1,   167,    -1,    -1,    -1,   216,    -1,
      -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,   226,   227,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,
     478,   479,   480,   481,   482,   483,   484,    -1,    -1,   247,
     488,    -1,   183,    -1,    -1,   477,   478,   479,   480,   481,
     482,   483,   484,   216,    -1,    -1,   488,    -1,    -1,    -1,
      -1,    -1,    -1,   226,   227,    -1,    -1,    -1,   209,    -1,
      -1,    -1,   213,    -1,   215,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,    -1,
     477,   478,   479,   480,   481,   482,   483,   484,    -1,    -1,
      -1,   488,   310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   260,
      -1,   262,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   310,    -1,    -1,
     358,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   315,   316,   317,    -1,    -1,   320,
     321,   322,   323,   324,    -1,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,   335,   358,    -1,    -1,    -1,   340,
      -1,   342,    -1,   344,   345,   346,   347,   348,   349,    -1,
      -1,   352,   353,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   394,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   409,   477,
     478,   479,   480,   481,   482,   483,   484,    -1,    -1,    -1,
     488,    -1,   423,   424,   425,    -1,    -1,    -1,    -1,    -1,
     431,    -1,   433,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,     4,     5,     6,     7,     8,    -1,    -1,    -1,
      12,    -1,    -1,    -1,   477,   478,   479,   480,   481,   482,
     483,   484,   463,    25,    -1,   488,    28,    29,    30,    31,
      -1,    33,    34,    35,    36,    -1,    -1,    -1,    40,    -1,
      -1,    43,    -1,    45,    46,    47,    48,    49,    -1,    51,
      -1,    -1,    54,    -1,    56,    -1,    -1,    59,    -1,    -1,
      62,    63,    64,    65,    66,    67,    -1,    -1,    70,    71,
      72,    73,    -1,    -1,    76,    -1,    78,    79,    80,    -1,
      82,    -1,    84,    85,    -1,    -1,    -1,    -1,    90,    91,
      92,    93,    -1,    95,    96,    97,    -1,    99,    -1,   101,
     102,    -1,    -1,   105,   106,    -1,   108,    -1,   110,    -1,
      -1,   113,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,
      -1,    -1,   124,   125,   126,    -1,   128,   129,   130,    -1,
      -1,   133,   134,    -1,   136,    -1,   138,   139,   140,    -1,
      -1,    -1,    -1,   145,    -1,   147,    -1,   149,    -1,    -1,
      -1,   153,    -1,    -1,   156,   157,   158,    -1,   160,    -1,
     162,    -1,    -1,   165,    -1,    -1,   168,    -1,    -1,    -1,
      -1,    -1,   174,   175,    -1,    -1,    -1,   179,    -1,   181,
      -1,    -1,    -1,   185,   186,   187,   188,   189,   190,   191,
     192,   193,   194,   195,   196,   197,   198,   199,   200,    -1,
     202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
     212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,
     222,   223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   231,
     232,   233,    -1,    -1,   236,   237,   238,   239,   240,   241,
     242,   243,    -1,    -1,    -1,    -1,   248,    -1,   250,    -1,
     252,   253,    -1,    -1,   256,   257,   258,   259,    -1,    -1,
     262,   263,   264,   265,   266,    -1,    -1,    -1,   270,   271,
      -1,   273,    -1,    -1,   276,   277,    -1,    -1,    -1,    -1,
     282,    -1,   284,   285,    -1,    -1,    -1,    -1,   290,    -1,
     292,   293,    -1,   295,    -1,    -1,    -1,   299,    -1,    -1,
     302,    -1,   304,    -1,    -1,    -1,    -1,   309,    -1,   311,
     312,   313,   314,    -1,    -1,    -1,   318,    -1,   320,   321,
      -1,    -1,   324,   325,    -1,   327,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   337,   338,   339,    -1,   341,
      -1,   343,   344,   345,   346,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,
     382,   383,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   394,    -1,    -1,   397,    -1,    -1,    -1,   401,
     402,    -1,   404,    -1,    -1,    -1,    -1,   409,    -1,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,    -1,    -1,
      -1,   423,   424,   425,    -1,   427,   428,    -1,    -1,   431,
      -1,   433,    -1,    -1,    -1,    -1,    -1,    -1,   440,    -1,
     442,   443,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   455,    -1,    -1,    -1,    -1,    -1,   461,
      -1,   463,    -1,    -1,   466,    -1,    -1,   469,    -1,   471,
      -1,   473,   474,   475,     4,     5,     6,     7,     8,   481,
      -1,    -1,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    25,    -1,    -1,    28,    29,
      30,    31,    -1,    33,    34,    35,    36,    -1,    -1,    -1,
      40,    -1,    -1,    43,    -1,    45,    46,    47,    48,    49,
      -1,    51,    -1,    -1,    54,    -1,    56,    -1,    -1,    59,
      -1,    -1,    62,    63,    64,    65,    66,    67,    -1,    -1,
      70,    71,    72,    73,    -1,    -1,    76,    -1,    78,    79,
      80,    -1,    82,    -1,    84,    85,    -1,    -1,    -1,    -1,
      90,    91,    92,    93,    -1,    95,    96,    97,    -1,    99,
      -1,   101,   102,    -1,    -1,   105,   106,    -1,   108,    -1,
     110,    -1,    -1,   113,    -1,    -1,    -1,    -1,   118,    -1,
      -1,   121,    -1,    -1,   124,   125,   126,    -1,   128,   129,
     130,    -1,    -1,   133,   134,    -1,   136,    -1,   138,   139,
     140,    -1,    -1,    -1,    -1,   145,    -1,   147,    -1,   149,
      -1,    -1,    -1,   153,    -1,    -1,   156,   157,   158,    -1,
     160,    -1,   162,    -1,    -1,   165,    -1,    -1,   168,    -1,
      -1,    -1,    -1,    -1,   174,   175,    -1,    -1,    -1,   179,
      -1,   181,    -1,    -1,    -1,   185,   186,   187,   188,   189,
     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
     200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
      -1,   211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,
     220,    -1,   222,   223,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   231,   232,   233,    -1,    -1,   236,   237,   238,   239,
     240,   241,   242,   243,    -1,    -1,    -1,    -1,   248,    -1,
     250,    -1,   252,   253,    -1,    -1,   256,   257,   258,   259,
      -1,    -1,   262,   263,   264,   265,   266,    -1,    -1,    -1,
     270,   271,    -1,   273,    -1,    -1,   276,   277,    -1,    -1,
      -1,    -1,   282,    -1,   284,   285,    -1,    -1,    -1,    -1,
     290,    -1,   292,   293,    -1,   295,    -1,    -1,    -1,   299,
      -1,    -1,   302,    -1,   304,    -1,    -1,    -1,    -1,   309,
      -1,   311,   312,   313,   314,    -1,    -1,    -1,   318,    -1,
     320,   321,    -1,    -1,   324,   325,    -1,   327,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,   338,   339,
      -1,   341,    -1,   343,   344,   345,   346,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,    -1,    -1,
      -1,    -1,   382,   383,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   394,    -1,    -1,   397,    -1,    -1,
      -1,   401,   402,    -1,   404,    -1,    -1,    -1,    -1,   409,
      -1,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
      -1,    -1,    -1,   423,   424,   425,    -1,   427,   428,    -1,
      -1,   431,    -1,   433,    -1,    -1,    -1,    -1,    -1,    -1,
     440,    -1,   442,   443,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   455,    -1,    -1,    -1,    -1,
      -1,   461,    -1,   463,    -1,    -1,   466,    -1,    -1,   469,
      -1,   471,    -1,   473,   474,   475,     4,     5,     6,     7,
       8,   481,    -1,    -1,    12,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    25,    -1,    -1,
      28,    29,    30,    31,    -1,    33,    34,    35,    36,    -1,
      -1,    -1,    40,    -1,    -1,    43,    -1,    45,    46,    47,
      48,    49,    -1,    51,    -1,    -1,    54,    -1,    56,    -1,
      -1,    59,    -1,    -1,    62,    63,    64,    65,    66,    67,
      -1,    -1,    70,    71,    72,    73,    -1,    -1,    76,    -1,
      78,    79,    80,    -1,    82,    -1,    84,    85,    -1,    -1,
      -1,    -1,    90,    91,    92,    93,    -1,    95,    96,    97,
      -1,    99,    -1,   101,   102,    -1,    -1,   105,   106,    -1,
     108,    -1,   110,    -1,    -1,   113,    -1,    -1,    -1,    -1,
     118,    -1,    -1,   121,    -1,    -1,   124,   125,   126,    -1,
     128,   129,   130,    -1,    -1,   133,   134,    -1,   136,    -1,
     138,   139,   140,    -1,    -1,    -1,    -1,   145,    -1,   147,
      -1,   149,    -1,    -1,    -1,   153,    -1,    -1,   156,   157,
     158,    -1,   160,    -1,   162,    -1,    -1,   165,    -1,    -1,
     168,    -1,    -1,    -1,    -1,    -1,   174,   175,    -1,    -1,
      -1,   179,    -1,   181,    -1,    -1,    -1,   185,   186,   187,
     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
     198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
     208,   209,    -1,   211,   212,   213,    -1,   215,    -1,   217,
      -1,    -1,   220,    -1,   222,   223,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   231,   232,   233,    -1,    -1,   236,   237,
     238,   239,   240,   241,   242,   243,    -1,    -1,    -1,    -1,
     248,    -1,   250,    -1,   252,   253,    -1,    -1,   256,   257,
     258,   259,    -1,    -1,   262,   263,   264,   265,   266,    -1,
      -1,    -1,   270,   271,    -1,   273,    -1,    -1,   276,   277,
      -1,    -1,    -1,    -1,   282,    -1,   284,   285,    -1,    -1,
      -1,    -1,   290,    -1,   292,   293,    -1,   295,    -1,    -1,
      -1,   299,    -1,    -1,   302,    -1,   304,    -1,    -1,    -1,
      -1,   309,    -1,   311,   312,   313,   314,    -1,    -1,    -1,
     318,    -1,   320,   321,    -1,    -1,   324,   325,    -1,   327,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,
     338,   339,    -1,   341,    -1,   343,   344,   345,   346,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,
      -1,    -1,    -1,    -1,   382,   383,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   394,    -1,    -1,   397,
      -1,    -1,    -1,   401,   402,    -1,   404,    -1,    -1,    -1,
      -1,   409,    -1,    -1,    -1,   413,    -1,    -1,   416,   417,
     418,   419,    -1,    -1,    -1,   423,   424,   425,    -1,   427,
     428,    -1,    -1,   431,    -1,   433,    -1,    -1,    -1,    -1,
      -1,    -1,   440,    -1,   442,   443,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,    -1,    -1,
      -1,    -1,    -1,   461,    -1,   463,    -1,    -1,   466,    -1,
      -1,   469,    -1,   471,    -1,   473,   474,   475,     4,     5,
       6,     7,     8,   481,    -1,    -1,    12,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    25,
      -1,    -1,    28,    29,    30,    31,    -1,    33,    34,    35,
      36,    -1,    -1,    -1,    40,    -1,    -1,    43,    -1,    45,
      46,    47,    48,    49,    -1,    51,    -1,    -1,    54,    -1,
      56,    -1,    -1,    59,    -1,    -1,    62,    63,    64,    65,
      66,    67,    -1,    -1,    70,    71,    72,    73,    -1,    -1,
      76,    -1,    78,    79,    80,    -1,    82,    -1,    84,    85,
      -1,    -1,    -1,    -1,    90,    91,    92,    93,    -1,    95,
      96,    97,    -1,    99,    -1,   101,   102,    -1,    -1,   105,
     106,    -1,   108,    -1,   110,    -1,    -1,   113,    -1,    -1,
      -1,    -1,   118,    -1,    -1,   121,    -1,    -1,   124,   125,
     126,    -1,   128,   129,   130,    -1,    -1,   133,   134,    -1,
     136,    -1,   138,   139,   140,    -1,    -1,    -1,    -1,   145,
      -1,   147,    -1,   149,    -1,    -1,    -1,   153,    -1,    -1,
     156,   157,   158,    -1,   160,    -1,   162,    -1,    -1,   165,
      -1,    -1,   168,    -1,    -1,    -1,    -1,    -1,   174,   175,
      -1,    -1,    -1,   179,    -1,   181,    -1,    -1,    -1,   185,
     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
     196,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
     206,   207,   208,   209,    -1,   211,   212,   213,    -1,   215,
      -1,   217,    -1,    -1,   220,    -1,   222,   223,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   231,   232,   233,    -1,    -1,
     236,   237,   238,   239,   240,   241,   242,   243,    -1,    -1,
      -1,    -1,   248,    -1,   250,    -1,   252,   253,    -1,    -1,
     256,   257,   258,   259,    -1,    -1,   262,   263,   264,   265,
     266,    -1,    -1,    -1,   270,   271,    -1,   273,    -1,    -1,
     276,   277,    -1,    -1,    -1,    -1,   282,    -1,   284,   285,
      -1,    -1,    -1,    -1,   290,    -1,   292,   293,    -1,   295,
      -1,    -1,    -1,   299,    -1,    -1,   302,    -1,   304,    -1,
      -1,    -1,    -1,   309,    -1,   311,   312,   313,   314,    -1,
      -1,    -1,   318,    -1,   320,   321,    -1,    -1,   324,   325,
      -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   337,   338,   339,    -1,   341,    -1,   343,   344,   345,
     346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     356,     9,    10,    11,    12,    13,    14,    15,    16,    17,
      18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,   375,
      -1,    -1,    -1,    -1,    -1,    -1,   382,   383,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   394,    -1,
      -1,   397,    -1,    -1,    -1,   401,   402,    -1,   404,    -1,
      -1,    -1,    -1,   409,    -1,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,    -1,    -1,    -1,   423,   424,   425,
      -1,   427,   428,    -1,    -1,   431,    -1,   433,    -1,    87,
      -1,    -1,    -1,    -1,   440,    -1,   442,   443,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,
      -1,    -1,    -1,    -1,    -1,   461,    -1,   463,    -1,    -1,
     466,    -1,    -1,   469,    -1,   471,    -1,   473,   474,   475,
      -1,    -1,    -1,    -1,    -1,   481,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,    10,    11,
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,
      -1,    -1,    -1,    87,    88,    -1,    -1,    -1,   226,   227,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,   247,
      -1,    -1,     9,    10,    11,    12,    13,    14,    15,    16,
      17,    18,    19,    20,    21,    87,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,     9,    10,    11,    12,
      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
      -1,    -1,    -1,   167,    -1,    -1,    -1,    -1,    87,    -1,
      -1,    -1,   310,   177,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   167,    -1,    -1,    -1,    -1,
      -1,    -1,   216,    -1,    -1,   177,    -1,    -1,    -1,    -1,
     358,    -1,   226,   227,    87,   144,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   371,   372,   373,   374,   375,    -1,    -1,
      -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,   167,    -1,
      -1,    -1,    -1,    -1,   216,    -1,    -1,    -1,   177,    -1,
     398,   399,   400,   401,   226,   227,    -1,    -1,    -1,    -1,
     167,    -1,    -1,    -1,    -1,   413,   414,   415,   416,    -1,
     177,   419,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,    -1,
      -1,    -1,   440,   441,   167,    -1,   310,   226,   227,    -1,
      -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,   216,
      -1,    -1,    -1,    -1,   462,   463,    -1,    -1,   247,   226,
     227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,
     478,   479,   480,   481,   482,   483,   484,    -1,   310,    -1,
     247,    -1,    -1,   216,   358,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,
      -1,     9,    10,    11,    12,    13,    14,    15,    16,    17,
      18,    19,    20,    21,   247,    -1,    -1,    -1,    -1,    -1,
      -1,   310,    -1,    -1,    -1,    -1,   358,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   306,
      -1,    -1,    -1,   310,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   310,    -1,    87,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   358,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   477,   478,   479,   480,   481,   482,   483,
     484,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   358,    -1,    -1,     9,    10,
      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
      21,    -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,
     482,   483,   484,    -1,    -1,    -1,    -1,    -1,    -1,   167,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,
     479,   480,   481,   482,   483,   484,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,   216,    -1,
     477,   478,   479,   480,   481,   482,   483,   484,   226,   227,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,    -1,   467,    -1,    -1,    -1,    -1,   247,
      -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,   482,
     483,   484,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,     9,    10,    11,    12,    13,    14,    15,
      16,    17,    18,    19,    20,    21,   167,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,    87,    -1,
      -1,    -1,   310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
      19,    20,    21,    -1,    -1,   216,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   226,   227,    -1,    -1,    -1,
     358,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   167,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,    10,    11,
      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,   310,
      -1,   167,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,
      -1,   177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,   467,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,
     478,   479,   480,   481,   482,   483,   484,   358,   167,    -1,
     216,    -1,    -1,    -1,    -1,    87,    -1,    -1,   177,    -1,
     226,   227,    -1,    -1,    -1,     9,    10,    11,    12,    13,
      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
      -1,   247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   310,    -1,    -1,    -1,    -1,    -1,   216,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,   227,    -1,
      -1,    -1,     9,    10,    11,    12,    13,    14,    15,    16,
      17,    18,    19,    20,    21,    -1,    -1,    -1,   247,    -1,
      -1,    -1,    -1,    -1,    -1,   167,    -1,    -1,    -1,   358,
      -1,    -1,    -1,    87,   310,   177,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   477,   478,   479,   480,
     481,   482,   483,   484,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   216,    -1,    -1,    -1,    -1,    -1,
      87,   310,   358,    -1,   226,   227,    -1,    -1,    -1,     9,
      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
      20,    21,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   167,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   177,    -1,    -1,    -1,    -1,    -1,   358,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,
     479,   480,   481,   482,   483,   484,    -1,    -1,    -1,    -1,
     167,    -1,   216,    -1,    -1,    -1,    -1,    87,   310,    -1,
     177,    -1,   226,   227,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   477,   478,   479,   480,   481,   482,   483,   484,   216,
      -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,    -1,   226,
     227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     247,    -1,    -1,    -1,    -1,    -1,    -1,   167,   477,   478,
     479,   480,   481,   482,   483,   484,   310,   177,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,    -1,    -1,
      -1,    -1,    -1,   310,   358,    -1,   226,   227,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   477,   478,   479,   480,   481,
     482,   483,   484,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   358,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   477,   478,   479,   480,   481,   482,   483,
     484,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     477,   478,   479,   480,   481,   482,   483,   484,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,     4,     5,     6,     7,     8,    -1,
      -1,    -1,    12,    -1,    -1,    -1,    -1,   477,   478,   479,
     480,   481,   482,   483,   484,    25,    -1,    -1,    28,    29,
      30,    31,    -1,    33,    34,    35,    36,    -1,    -1,    -1,
      40,    -1,    -1,    43,    -1,    45,    46,    47,    48,    49,
      -1,    51,    -1,    -1,    54,    -1,    56,    -1,    -1,    59,
      -1,    -1,    62,    63,    64,    65,    66,    67,    -1,    -1,
      70,    71,    72,    73,    -1,    -1,    76,    -1,    78,    79,
      80,    -1,    82,    -1,    84,    85,    -1,    -1,    -1,    -1,
      90,    91,    92,    93,    94,    95,    96,    97,    -1,    99,
      -1,   101,   102,    -1,    -1,   105,   106,    -1,   108,    -1,
     110,    -1,    -1,   113,    -1,    -1,    -1,    -1,   118,   119,
      -1,   121,    -1,    -1,   124,   125,   126,    -1,   128,   129,
     130,    -1,    -1,   133,   134,    -1,   136,    -1,   138,   139,
     140,    -1,    -1,    -1,    -1,   145,    -1,   147,    -1,   149,
      -1,    -1,    -1,   153,    -1,    -1,   156,   157,   158,    -1,
     160,    -1,   162,    -1,    -1,   165,    -1,    -1,   168,    -1,
      -1,    -1,    -1,    -1,   174,   175,   176,    -1,    -1,   179,
      -1,   181,    -1,    -1,    -1,   185,   186,   187,   188,   189,
     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
     200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
      -1,   211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,
     220,    -1,   222,   223,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   231,   232,   233,    -1,    -1,   236,   237,   238,   239,
     240,   241,   242,   243,    -1,    -1,    -1,    -1,   248,    -1,
     250,    -1,   252,   253,    -1,    -1,   256,   257,   258,   259,
      -1,    -1,   262,   263,   264,   265,   266,    -1,    -1,    -1,
     270,   271,    -1,   273,    -1,    -1,   276,   277,    -1,   279,
      -1,    -1,   282,    -1,   284,   285,    -1,    -1,    -1,    -1,
     290,    -1,   292,   293,    -1,   295,    -1,    -1,    -1,   299,
      -1,    -1,   302,    -1,   304,    -1,    -1,    -1,    -1,   309,
      -1,   311,   312,   313,   314,    -1,    -1,    -1,   318,    -1,
     320,   321,    -1,    -1,   324,   325,    -1,   327,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,   338,   339,
      -1,   341,    -1,   343,   344,   345,   346,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,    -1,    -1,
      -1,    -1,   382,   383,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   394,    -1,    -1,   397,    -1,    -1,
      -1,   401,   402,    -1,   404,    -1,    -1,    -1,    -1,   409,
      -1,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
      -1,    -1,    -1,   423,   424,   425,    -1,   427,   428,    -1,
      -1,   431,    -1,   433,    -1,    -1,    -1,    -1,    -1,    -1,
     440,    -1,   442,   443,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   455,     4,     5,     6,     7,
       8,   461,    -1,   463,    12,    -1,   466,    -1,    -1,   469,
      -1,   471,    -1,   473,   474,   475,    -1,    25,    -1,    -1,
      28,    29,    30,    31,    -1,    33,    34,    35,    36,    -1,
      -1,    -1,    40,    -1,    -1,    43,    -1,    45,    46,    47,
      48,    49,    -1,    51,    -1,    -1,    54,    -1,    56,    -1,
      -1,    59,    -1,    -1,    62,    63,    64,    65,    66,    67,
      -1,    -1,    70,    71,    72,    73,    -1,    -1,    76,    -1,
      78,    79,    80,    -1,    82,    -1,    84,    85,    -1,    -1,
      -1,    -1,    90,    91,    92,    93,    94,    95,    96,    97,
      -1,    99,    -1,   101,   102,    -1,    -1,   105,   106,    -1,
     108,    -1,   110,    -1,    -1,   113,    -1,    -1,    -1,    -1,
     118,   119,    -1,   121,    -1,    -1,   124,   125,   126,    -1,
     128,   129,   130,    -1,    -1,   133,   134,    -1,   136,    -1,
     138,   139,   140,    -1,    -1,    -1,    -1,   145,    -1,   147,
      -1,   149,    -1,    -1,    -1,   153,    -1,    -1,   156,   157,
     158,    -1,   160,    -1,   162,    -1,    -1,   165,    -1,    -1,
     168,    -1,    -1,    -1,    -1,    -1,   174,   175,   176,    -1,
      -1,   179,    -1,   181,    -1,    -1,    -1,   185,   186,   187,
     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
     198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
     208,   209,    -1,   211,   212,   213,    -1,   215,    -1,   217,
      -1,    -1,   220,    -1,   222,   223,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   231,   232,   233,    -1,    -1,   236,   237,
     238,   239,   240,   241,   242,   243,    -1,    -1,    -1,    -1,
     248,    -1,   250,    -1,   252,   253,    -1,    -1,   256,   257,
     258,   259,    -1,    -1,   262,   263,   264,   265,   266,    -1,
      -1,    -1,   270,   271,    -1,   273,    -1,    -1,   276,   277,
      -1,   279,    -1,    -1,   282,    -1,   284,   285,    -1,    -1,
      -1,    -1,   290,    -1,   292,   293,    -1,   295,    -1,    -1,
      -1,   299,    -1,    -1,   302,    -1,   304,    -1,    -1,    -1,
      -1,   309,    -1,   311,   312,   313,   314,    -1,    -1,    -1,
     318,    -1,   320,   321,    -1,    -1,   324,   325,    -1,   327,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,
     338,   339,    -1,   341,    -1,   343,   344,   345,   346,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,
      -1,    -1,    -1,    -1,   382,   383,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   394,    -1,    -1,   397,
      -1,    -1,    -1,   401,   402,    -1,   404,    -1,    -1,    -1,
      -1,   409,    -1,    -1,    -1,   413,    -1,    -1,   416,   417,
     418,   419,    -1,    -1,    -1,   423,   424,   425,    -1,   427,
     428,    -1,    -1,   431,    -1,   433,    -1,    -1,    -1,    -1,
      -1,    -1,   440,    -1,   442,   443,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,     4,     5,
       6,     7,     8,   461,    -1,   463,    12,    -1,   466,    -1,
      -1,   469,    -1,   471,    -1,   473,   474,   475,    -1,    25,
      -1,    -1,    28,    29,    30,    31,    -1,    33,    34,    35,
      36,    -1,    -1,    -1,    40,    -1,    -1,    43,    -1,    45,
      46,    47,    48,    49,    -1,    51,    -1,    -1,    54,    -1,
      56,    -1,    -1,    59,    -1,    -1,    62,    63,    64,    65,
      66,    67,    -1,    -1,    70,    71,    72,    73,    -1,    -1,
      76,    -1,    78,    79,    80,    -1,    82,    -1,    84,    85,
      -1,    -1,    -1,    -1,    90,    91,    92,    93,    -1,    95,
      96,    97,    -1,    99,    -1,   101,   102,    -1,    -1,   105,
     106,    -1,   108,    -1,   110,    -1,    -1,   113,    -1,    -1,
     116,    -1,   118,    -1,    -1,   121,    -1,    -1,   124,   125,
     126,    -1,   128,   129,   130,    -1,    -1,   133,   134,    -1,
     136,    -1,   138,   139,   140,    -1,    -1,    -1,    -1,   145,
      -1,   147,    -1,   149,    -1,    -1,    -1,   153,    -1,    -1,
     156,   157,   158,    -1,   160,    -1,   162,    -1,    -1,   165,
      -1,    -1,   168,    -1,    -1,    -1,    -1,    -1,   174,   175,
     176,    -1,    -1,   179,    -1,   181,    -1,    -1,    -1,   185,
     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
     196,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
     206,   207,   208,   209,    -1,   211,   212,   213,    -1,   215,
      -1,   217,    -1,    -1,   220,    -1,   222,   223,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   231,   232,   233,    -1,    -1,
     236,   237,   238,   239,   240,   241,   242,   243,    -1,    -1,
      -1,    -1,   248,    -1,   250,    -1,   252,   253,    -1,    -1,
     256,   257,   258,   259,    -1,    -1,   262,   263,   264,   265,
     266,    -1,    -1,    -1,   270,   271,    -1,   273,    -1,    -1,
     276,   277,    -1,   279,    -1,    -1,   282,    -1,   284,   285,
      -1,    -1,    -1,    -1,   290,    -1,   292,   293,    -1,   295,
      -1,    -1,    -1,   299,    -1,    -1,   302,    -1,   304,    -1,
      -1,    -1,    -1,   309,    -1,   311,   312,   313,   314,    -1,
      -1,    -1,   318,    -1,   320,   321,    -1,    -1,   324,   325,
      -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   337,   338,   339,    -1,   341,    -1,   343,   344,   345,
     346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,
      -1,    -1,    -1,    -1,    -1,    -1,   382,   383,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   394,    -1,
      -1,   397,    -1,    -1,    -1,   401,   402,    -1,   404,    -1,
      -1,    -1,    -1,   409,    -1,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,    -1,    -1,    -1,   423,   424,   425,
      -1,   427,   428,    -1,    -1,   431,    -1,   433,    -1,    -1,
      -1,    -1,    -1,    -1,   440,    -1,   442,   443,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,
       4,     5,     6,     7,     8,   461,    -1,   463,    12,    -1,
     466,    -1,    -1,   469,    -1,   471,    -1,   473,   474,   475,
      -1,    25,    -1,    -1,    28,    29,    30,    31,    -1,    33,
      34,    35,    36,    -1,    -1,    -1,    40,    -1,    -1,    43,
      -1,    45,    46,    47,    48,    49,    -1,    51,    -1,    -1,
      54,    -1,    56,    -1,    -1,    59,    -1,    -1,    62,    63,
      64,    65,    66,    67,    -1,    -1,    70,    71,    72,    73,
      -1,    -1,    76,    -1,    78,    79,    80,    -1,    82,    -1,
      84,    85,    -1,    -1,    -1,    -1,    90,    91,    92,    93,
      94,    95,    96,    97,    -1,    99,    -1,   101,   102,    -1,
      -1,   105,   106,    -1,   108,    -1,   110,    -1,    -1,   113,
      -1,    -1,    -1,    -1,   118,    -1,    -1,   121,    -1,    -1,
     124,   125,   126,    -1,   128,   129,   130,    -1,    -1,   133,
     134,    -1,   136,    -1,   138,   139,   140,    -1,    -1,    -1,
      -1,   145,    -1,   147,    -1,   149,    -1,    -1,    -1,   153,
      -1,    -1,   156,   157,   158,    -1,   160,    -1,   162,    -1,
      -1,   165,    -1,    -1,   168,    -1,    -1,    -1,    -1,    -1,
     174,   175,   176,    -1,    -1,   179,    -1,   181,    -1,    -1,
      -1,   185,   186,   187,   188,   189,   190,   191,   192,   193,
     194,   195,   196,   197,   198,   199,   200,    -1,   202,   203,
     204,   205,   206,   207,   208,   209,    -1,   211,   212,   213,
      -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   231,   232,   233,
      -1,    -1,   236,   237,   238,   239,   240,   241,   242,   243,
      -1,    -1,    -1,    -1,   248,    -1,   250,    -1,   252,   253,
      -1,    -1,   256,   257,   258,   259,    -1,    -1,   262,   263,
     264,   265,   266,    -1,    -1,    -1,   270,   271,    -1,   273,
      -1,    -1,   276,   277,    -1,   279,    -1,    -1,   282,    -1,
     284,   285,    -1,    -1,    -1,    -1,   290,    -1,   292,   293,
      -1,   295,    -1,    -1,    -1,   299,    -1,    -1,   302,    -1,
     304,    -1,    -1,    -1,    -1,   309,    -1,   311,   312,   313,
     314,    -1,    -1,    -1,   318,    -1,   320,   321,    -1,    -1,
     324,   325,    -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   337,   338,   339,    -1,   341,    -1,   343,
     344,   345,   346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,   382,   383,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     394,    -1,    -1,   397,    -1,    -1,    -1,   401,   402,    -1,
     404,    -1,    -1,    -1,    -1,   409,    -1,    -1,    -1,   413,
      -1,    -1,   416,   417,   418,   419,    -1,    -1,    -1,   423,
     424,   425,    -1,   427,   428,    -1,    -1,   431,    -1,   433,
      -1,    -1,    -1,    -1,    -1,    -1,   440,    -1,   442,   443,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   455,     4,     5,     6,     7,     8,   461,    -1,   463,
      12,    -1,   466,    -1,    -1,   469,    -1,   471,    -1,   473,
     474,   475,    -1,    25,    -1,    -1,    28,    29,    30,    31,
      -1,    33,    34,    35,    36,    -1,    -1,    -1,    40,    -1,
      -1,    43,    -1,    45,    46,    47,    48,    49,    -1,    51,
      -1,    -1,    54,    -1,    56,    -1,    -1,    59,    -1,    -1,
      62,    63,    64,    65,    66,    67,    -1,    -1,    70,    71,
      72,    73,    -1,    -1,    76,    -1,    78,    79,    80,    -1,
      82,    -1,    84,    85,    -1,    -1,    -1,    -1,    90,    91,
      92,    93,    -1,    95,    96,    97,    -1,    99,    -1,   101,
     102,    -1,    -1,   105,   106,    -1,   108,    -1,   110,    -1,
      -1,   113,    -1,    -1,    -1,    -1,   118,   119,    -1,   121,
      -1,    -1,   124,   125,   126,    -1,   128,   129,   130,    -1,
      -1,   133,   134,    -1,   136,    -1,   138,   139,   140,    -1,
      -1,    -1,    -1,   145,    -1,   147,    -1,   149,    -1,    -1,
      -1,   153,    -1,    -1,   156,   157,   158,    -1,   160,    -1,
     162,    -1,    -1,   165,    -1,    -1,   168,    -1,    -1,    -1,
      -1,    -1,   174,   175,   176,    -1,    -1,   179,    -1,   181,
      -1,    -1,    -1,   185,   186,   187,   188,   189,   190,   191,
     192,   193,   194,   195,   196,   197,   198,   199,   200,    -1,
     202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
     212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,
     222,   223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   231,
     232,   233,    -1,    -1,   236,   237,   238,   239,   240,   241,
     242,   243,    -1,    -1,    -1,    -1,   248,    -1,   250,    -1,
     252,   253,    -1,    -1,   256,   257,   258,   259,    -1,    -1,
     262,   263,   264,   265,   266,    -1,    -1,    -1,   270,   271,
      -1,   273,    -1,    -1,   276,   277,    -1,   279,    -1,    -1,
     282,    -1,   284,   285,    -1,    -1,    -1,    -1,   290,    -1,
     292,   293,    -1,   295,    -1,    -1,    -1,   299,    -1,    -1,
     302,    -1,   304,    -1,    -1,    -1,    -1,   309,    -1,   311,
     312,   313,   314,    -1,    -1,    -1,   318,    -1,   320,   321,
      -1,    -1,   324,   325,    -1,   327,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   337,   338,   339,    -1,   341,
      -1,   343,   344,   345,   346,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,
     382,   383,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   394,    -1,    -1,   397,    -1,    -1,    -1,   401,
     402,    -1,   404,    -1,    -1,    -1,    -1,   409,    -1,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,    -1,    -1,
      -1,   423,   424,   425,    -1,   427,   428,    -1,    -1,   431,
      -1,   433,    -1,    -1,    -1,    -1,    -1,    -1,   440,    -1,
     442,   443,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   455,     4,     5,     6,     7,     8,   461,
      -1,   463,    12,    -1,   466,    -1,    -1,   469,    -1,   471,
      -1,   473,   474,   475,    -1,    25,    -1,    -1,    28,    29,
      30,    31,    -1,    33,    34,    35,    36,    -1,    -1,    -1,
      40,    -1,    -1,    43,    -1,    45,    46,    47,    48,    49,
      -1,    51,    -1,    -1,    54,    -1,    56,    -1,    -1,    59,
      -1,    -1,    62,    63,    64,    65,    66,    67,    -1,    -1,
      70,    71,    72,    73,    -1,    -1,    76,    -1,    78,    79,
      80,    -1,    82,    -1,    84,    85,    -1,    -1,    -1,    -1,
      90,    91,    92,    93,    -1,    95,    96,    97,    -1,    99,
      -1,   101,   102,    -1,    -1,   105,   106,    -1,   108,    -1,
     110,    -1,    -1,   113,    -1,    -1,    -1,    -1,   118,    -1,
      -1,   121,    -1,    -1,   124,   125,   126,    -1,   128,   129,
     130,    -1,    -1,   133,   134,    -1,   136,    -1,   138,   139,
     140,    -1,    -1,    -1,    -1,   145,    -1,   147,    -1,   149,
      -1,    -1,    -1,   153,    -1,    -1,   156,   157,   158,    -1,
     160,    -1,   162,    -1,    -1,   165,    -1,    -1,   168,    -1,
      -1,    -1,    -1,    -1,   174,   175,   176,    -1,    -1,   179,
      -1,   181,    -1,    -1,    -1,   185,   186,   187,   188,   189,
     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
     200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
      -1,   211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,
     220,    -1,   222,   223,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   231,   232,   233,    -1,    -1,   236,   237,   238,   239,
     240,   241,   242,   243,    -1,    -1,    -1,    -1,   248,    -1,
     250,    -1,   252,   253,    -1,    -1,   256,   257,   258,   259,
      -1,    -1,   262,   263,   264,   265,   266,    -1,    -1,    -1,
     270,   271,    -1,   273,    -1,    -1,   276,   277,    -1,   279,
      -1,    -1,   282,    -1,   284,   285,    -1,    -1,    -1,    -1,
     290,    -1,   292,   293,    -1,   295,    -1,    -1,    -1,   299,
      -1,    -1,   302,    -1,   304,    -1,    -1,    -1,    -1,   309,
      -1,   311,   312,   313,   314,    -1,    -1,    -1,   318,    -1,
     320,   321,    -1,    -1,   324,   325,    -1,   327,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,   338,   339,
      -1,   341,    -1,   343,   344,   345,   346,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,    -1,    -1,
      -1,    -1,   382,   383,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   394,    -1,    -1,   397,    -1,    -1,
      -1,   401,   402,    -1,   404,    -1,    -1,    -1,    -1,   409,
      -1,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
      -1,    -1,    -1,   423,   424,   425,    -1,   427,   428,    -1,
      -1,   431,    -1,   433,    -1,    -1,    -1,    -1,    -1,    -1,
     440,    -1,   442,   443,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   455,     4,     5,     6,     7,
       8,   461,    -1,   463,    12,    -1,   466,    -1,    -1,   469,
      -1,   471,    -1,   473,   474,   475,    -1,    25,    -1,    -1,
      28,    29,    30,    31,    -1,    33,    34,    35,    36,    -1,
      -1,    -1,    40,    -1,    -1,    43,    -1,    45,    46,    47,
      48,    49,    -1,    51,    -1,    -1,    54,    -1,    56,    -1,
      -1,    59,    -1,    -1,    62,    63,    64,    65,    66,    67,
      -1,    -1,    70,    71,    72,    73,    -1,    -1,    76,    -1,
      78,    79,    80,    -1,    82,    -1,    84,    85,    -1,    -1,
      -1,    -1,    90,    91,    92,    93,    -1,    95,    96,    97,
      -1,    99,    -1,   101,   102,    -1,    -1,   105,   106,    -1,
     108,    -1,   110,    -1,    -1,   113,    -1,    -1,    -1,    -1,
     118,    -1,    -1,   121,    -1,    -1,   124,   125,   126,    -1,
     128,   129,   130,    -1,    -1,   133,   134,    -1,   136,    -1,
     138,   139,   140,    -1,    -1,    -1,    -1,   145,    -1,   147,
      -1,   149,    -1,    -1,    -1,   153,   154,    -1,   156,   157,
     158,    -1,   160,    -1,   162,    -1,    -1,   165,    -1,    -1,
     168,    -1,    -1,    -1,    -1,    -1,   174,   175,    -1,    -1,
      -1,   179,    -1,   181,    -1,    -1,    -1,   185,   186,   187,
     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
     198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
     208,   209,    -1,   211,   212,   213,    -1,   215,    -1,   217,
      -1,    -1,   220,    -1,   222,   223,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   231,   232,   233,    -1,    -1,   236,   237,
     238,   239,   240,   241,   242,   243,    -1,    -1,    -1,    -1,
     248,    -1,   250,    -1,   252,   253,    -1,    -1,   256,   257,
     258,   259,    -1,    -1,   262,   263,   264,   265,   266,    -1,
      -1,    -1,   270,   271,    -1,   273,    -1,    -1,   276,   277,
      -1,   279,    -1,    -1,   282,    -1,   284,   285,    -1,    -1,
      -1,    -1,   290,    -1,   292,   293,    -1,   295,    -1,    -1,
      -1,   299,    -1,    -1,   302,    -1,   304,    -1,    -1,    -1,
      -1,   309,    -1,   311,   312,   313,   314,    -1,    -1,    -1,
     318,    -1,   320,   321,    -1,    -1,   324,   325,    -1,   327,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,
     338,   339,    -1,   341,    -1,   343,   344,   345,   346,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,
      -1,    -1,    -1,    -1,   382,   383,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   394,    -1,    -1,   397,
      -1,    -1,    -1,   401,   402,    -1,   404,    -1,    -1,    -1,
      -1,   409,    -1,    -1,    -1,   413,    -1,    -1,   416,   417,
     418,   419,    -1,    -1,    -1,   423,   424,   425,    -1,   427,
     428,    -1,    -1,   431,    -1,   433,    -1,    -1,    -1,    -1,
      -1,    -1,   440,    -1,   442,   443,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,     4,     5,
       6,     7,     8,   461,    -1,   463,    12,    -1,   466,    -1,
      -1,   469,    -1,   471,    -1,   473,   474,   475,    -1,    25,
      -1,    -1,    28,    29,    30,    31,    -1,    33,    34,    35,
      36,    -1,    -1,    -1,    40,    -1,    -1,    43,    -1,    45,
      46,    47,    48,    49,    -1,    51,    -1,    -1,    54,    -1,
      56,    -1,    -1,    59,    -1,    -1,    62,    63,    64,    65,
      66,    67,    -1,    -1,    70,    71,    72,    73,    -1,    -1,
      76,    -1,    78,    79,    80,    -1,    82,    -1,    84,    85,
      -1,    -1,    88,    -1,    90,    91,    92,    93,    -1,    95,
      96,    97,    -1,    99,    -1,   101,   102,    -1,    -1,   105,
     106,    -1,   108,    -1,   110,    -1,    -1,   113,    -1,    -1,
      -1,    -1,   118,    -1,    -1,   121,    -1,    -1,   124,   125,
     126,    -1,   128,   129,   130,    -1,    -1,   133,   134,    -1,
     136,    -1,   138,   139,   140,    -1,    -1,    -1,    -1,   145,
      -1,   147,    -1,   149,    -1,    -1,    -1,   153,    -1,    -1,
     156,   157,   158,    -1,   160,    -1,   162,    -1,    -1,   165,
      -1,    -1,   168,    -1,    -1,    -1,    -1,    -1,   174,   175,
      -1,    -1,    -1,   179,    -1,   181,    -1,    -1,    -1,   185,
     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
     196,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
     206,   207,   208,   209,    -1,   211,   212,   213,    -1,   215,
      -1,   217,    -1,    -1,   220,    -1,   222,   223,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   231,   232,   233,    -1,    -1,
     236,   237,   238,   239,   240,   241,   242,   243,    -1,    -1,
      -1,    -1,   248,    -1,   250,    -1,   252,   253,    -1,    -1,
     256,   257,   258,   259,    -1,    -1,   262,   263,   264,   265,
     266,    -1,    -1,    -1,   270,   271,    -1,   273,    -1,    -1,
     276,   277,    -1,   279,    -1,    -1,   282,    -1,   284,   285,
      -1,    -1,    -1,    -1,   290,    -1,   292,   293,    -1,   295,
      -1,    -1,    -1,   299,    -1,    -1,   302,    -1,   304,    -1,
      -1,    -1,    -1,   309,    -1,   311,   312,   313,   314,    -1,
      -1,    -1,   318,    -1,   320,   321,    -1,    -1,   324,   325,
      -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   337,   338,   339,    -1,   341,    -1,   343,   344,   345,
     346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,
      -1,    -1,    -1,    -1,    -1,    -1,   382,   383,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   394,    -1,
      -1,   397,    -1,    -1,    -1,   401,   402,    -1,   404,    -1,
      -1,    -1,    -1,   409,    -1,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,    -1,    -1,    -1,   423,   424,   425,
      -1,   427,   428,    -1,    -1,   431,    -1,   433,    -1,    -1,
      -1,    -1,    -1,    -1,   440,    -1,   442,   443,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,
       4,     5,     6,     7,     8,   461,    -1,   463,    12,    -1,
     466,    -1,    -1,   469,    -1,   471,    -1,   473,   474,   475,
      -1,    25,    -1,    -1,    28,    29,    30,    31,    -1,    33,
      34,    35,    36,    -1,    -1,    -1,    40,    -1,    -1,    43,
      -1,    45,    46,    47,    48,    49,    -1,    51,    -1,    -1,
      54,    -1,    56,    -1,    -1,    59,    -1,    -1,    62,    63,
      64,    65,    66,    67,    -1,    -1,    70,    71,    72,    73,
      -1,    -1,    76,    -1,    78,    79,    80,    -1,    82,    -1,
      84,    85,    -1,    -1,    -1,    -1,    90,    91,    92,    93,
      -1,    95,    96,    97,    -1,    99,    -1,   101,   102,    -1,
      -1,   105,   106,    -1,   108,    -1,   110,    -1,    -1,   113,
      -1,    -1,    -1,    -1,   118,    -1,    -1,   121,    -1,    -1,
     124,   125,   126,    -1,   128,   129,   130,    -1,    -1,   133,
     134,    -1,   136,    -1,   138,   139,   140,    -1,    -1,    -1,
     144,   145,    -1,   147,    -1,   149,    -1,    -1,    -1,   153,
      -1,    -1,   156,   157,   158,    -1,   160,    -1,   162,    -1,
      -1,   165,    -1,    -1,   168,    -1,    -1,    -1,    -1,    -1,
     174,   175,    -1,    -1,    -1,   179,    -1,   181,    -1,    -1,
      -1,   185,   186,   187,   188,   189,   190,   191,   192,   193,
     194,   195,   196,   197,   198,   199,   200,    -1,   202,   203,
     204,   205,   206,   207,   208,   209,    -1,   211,   212,   213,
      -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   231,   232,   233,
      -1,    -1,   236,   237,   238,   239,   240,   241,   242,   243,
      -1,    -1,    -1,    -1,   248,    -1,   250,    -1,   252,   253,
      -1,    -1,   256,   257,   258,   259,    -1,    -1,   262,   263,
     264,   265,   266,    -1,    -1,    -1,   270,   271,    -1,   273,
      -1,    -1,   276,   277,    -1,    -1,    -1,    -1,   282,    -1,
     284,   285,    -1,    -1,    -1,    -1,   290,    -1,   292,   293,
      -1,   295,    -1,    -1,    -1,   299,    -1,    -1,   302,    -1,
     304,    -1,    -1,    -1,    -1,   309,    -1,   311,   312,   313,
     314,    -1,    -1,    -1,   318,    -1,   320,   321,    -1,    -1,
     324,   325,    -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   337,   338,   339,    -1,   341,    -1,   343,
     344,   345,   346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,   382,   383,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     394,    -1,    -1,   397,    -1,    -1,    -1,   401,   402,    -1,
     404,    -1,    -1,    -1,    -1,   409,    -1,    -1,    -1,   413,
      -1,    -1,   416,   417,   418,   419,    -1,    -1,    -1,   423,
     424,   425,    -1,   427,   428,    -1,    -1,   431,    -1,   433,
      -1,    -1,    -1,    -1,    -1,    -1,   440,    -1,   442,   443,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   455,     4,     5,     6,     7,     8,   461,    -1,   463,
      12,    -1,   466,    -1,    -1,   469,    -1,   471,    -1,   473,
     474,   475,    -1,    25,    -1,    -1,    28,    29,    30,    31,
      -1,    33,    34,    35,    36,    -1,    -1,    -1,    40,    -1,
      -1,    43,    -1,    45,    46,    47,    48,    49,    -1,    51,
      -1,    -1,    54,    -1,    56,    -1,    -1,    59,    -1,    -1,
      62,    63,    64,    65,    66,    67,    -1,    -1,    70,    71,
      72,    73,    -1,    -1,    76,    -1,    78,    79,    80,    -1,
      82,    -1,    84,    85,    -1,    -1,    -1,    -1,    90,    91,
      92,    93,    -1,    95,    96,    97,    -1,    99,    -1,   101,
     102,    -1,    -1,   105,   106,    -1,   108,    -1,   110,    -1,
      -1,   113,    -1,    -1,    -1,    -1,   118,   119,    -1,   121,
      -1,    -1,   124,   125,   126,    -1,   128,   129,   130,    -1,
      -1,   133,   134,    -1,   136,    -1,   138,   139,   140,    -1,
      -1,    -1,    -1,   145,    -1,   147,    -1,   149,    -1,    -1,
      -1,   153,    -1,    -1,   156,   157,   158,    -1,   160,    -1,
     162,    -1,    -1,   165,    -1,    -1,   168,    -1,    -1,    -1,
      -1,    -1,   174,   175,    -1,    -1,    -1,   179,    -1,   181,
      -1,    -1,    -1,   185,   186,   187,   188,   189,   190,   191,
     192,   193,   194,   195,   196,   197,   198,   199,   200,    -1,
     202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
     212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,
     222,   223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   231,
     232,   233,    -1,    -1,   236,   237,   238,   239,   240,   241,
     242,   243,    -1,    -1,    -1,    -1,   248,    -1,   250,    -1,
     252,   253,    -1,    -1,   256,   257,   258,   259,    -1,    -1,
     262,   263,   264,   265,   266,    -1,    -1,    -1,   270,   271,
      -1,   273,    -1,    -1,   276,   277,    -1,    -1,    -1,    -1,
     282,    -1,   284,   285,    -1,    -1,    -1,    -1,   290,    -1,
     292,   293,    -1,   295,    -1,    -1,    -1,   299,    -1,    -1,
     302,    -1,   304,    -1,    -1,    -1,    -1,   309,    -1,   311,
     312,   313,   314,    -1,    -1,    -1,   318,    -1,   320,   321,
      -1,    -1,   324,   325,    -1,   327,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   337,   338,   339,    -1,   341,
      -1,   343,   344,   345,   346,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,
     382,   383,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   394,    -1,    -1,   397,    -1,    -1,    -1,   401,
     402,    -1,   404,    -1,    -1,    -1,    -1,   409,    -1,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,    -1,    -1,
      -1,   423,   424,   425,    -1,   427,   428,    -1,    -1,   431,
      -1,   433,    -1,    -1,    -1,    -1,    -1,    -1,   440,    -1,
     442,   443,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   455,     4,     5,     6,     7,     8,   461,
      -1,   463,    12,    -1,   466,    -1,    -1,   469,    -1,   471,
      -1,   473,   474,   475,    -1,    25,    -1,    -1,    28,    29,
      30,    31,    -1,    33,    34,    35,    36,    -1,    -1,    -1,
      40,    -1,    -1,    43,    -1,    45,    46,    47,    48,    49,
      -1,    51,    -1,    -1,    54,    -1,    56,    -1,    -1,    59,
      -1,    -1,    62,    63,    64,    65,    66,    67,    -1,    -1,
      70,    71,    72,    73,    -1,    -1,    76,    -1,    78,    79,
      80,    -1,    82,    -1,    84,    85,    -1,    -1,    -1,    -1,
      90,    91,    92,    93,    -1,    95,    96,    97,    -1,    99,
      -1,   101,   102,    -1,    -1,   105,   106,    -1,   108,    -1,
     110,    -1,    -1,   113,    -1,    -1,    -1,    -1,   118,   119,
      -1,   121,    -1,    -1,   124,   125,   126,    -1,   128,   129,
     130,    -1,    -1,   133,   134,    -1,   136,    -1,   138,   139,
     140,    -1,    -1,    -1,    -1,   145,    -1,   147,    -1,   149,
      -1,    -1,    -1,   153,    -1,    -1,   156,   157,   158,    -1,
     160,    -1,   162,    -1,    -1,   165,    -1,    -1,   168,    -1,
      -1,    -1,    -1,    -1,   174,   175,    -1,    -1,    -1,   179,
      -1,   181,    -1,    -1,    -1,   185,   186,   187,   188,   189,
     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
     200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
      -1,   211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,
     220,    -1,   222,   223,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   231,   232,   233,    -1,    -1,   236,   237,   238,   239,
     240,   241,   242,   243,    -1,    -1,    -1,    -1,   248,    -1,
     250,    -1,   252,   253,    -1,    -1,   256,   257,   258,   259,
      -1,    -1,   262,   263,   264,   265,   266,    -1,    -1,    -1,
     270,   271,    -1,   273,    -1,    -1,   276,   277,    -1,    -1,
      -1,    -1,   282,    -1,   284,   285,    -1,    -1,    -1,    -1,
     290,    -1,   292,   293,    -1,   295,    -1,    -1,    -1,   299,
      -1,    -1,   302,    -1,   304,    -1,    -1,    -1,    -1,   309,
      -1,   311,   312,   313,   314,    -1,    -1,    -1,   318,    -1,
     320,   321,    -1,    -1,   324,   325,    -1,   327,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,   338,   339,
      -1,   341,    -1,   343,   344,   345,   346,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,    -1,    -1,
      -1,    -1,   382,   383,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   394,    -1,    -1,   397,    -1,    -1,
      -1,   401,   402,    -1,   404,    -1,    -1,    -1,    -1,   409,
      -1,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
      -1,    -1,    -1,   423,   424,   425,    -1,   427,   428,    -1,
      -1,   431,    -1,   433,    -1,    -1,    -1,    -1,    -1,    -1,
     440,    -1,   442,   443,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   455,     4,     5,     6,     7,
       8,   461,    -1,   463,    12,    -1,   466,    -1,    -1,   469,
      -1,   471,    -1,   473,   474,   475,    -1,    25,    -1,    -1,
      28,    29,    30,    31,    -1,    33,    34,    35,    36,    -1,
      -1,    -1,    40,    -1,    -1,    43,    -1,    45,    46,    47,
      48,    49,    -1,    51,    -1,    -1,    54,    -1,    56,    -1,
      -1,    59,    -1,    -1,    62,    63,    64,    65,    66,    67,
      -1,    -1,    70,    71,    72,    73,    -1,    -1,    76,    -1,
      78,    79,    80,    -1,    82,    -1,    84,    85,    -1,    -1,
      -1,    -1,    90,    91,    92,    93,    -1,    95,    96,    97,
      -1,    99,    -1,   101,   102,    -1,    -1,   105,   106,    -1,
     108,    -1,   110,    -1,    -1,   113,    -1,    -1,    -1,    -1,
     118,    -1,    -1,   121,    -1,    -1,   124,   125,   126,    -1,
     128,   129,   130,    -1,    -1,   133,   134,    -1,   136,    -1,
     138,   139,   140,    -1,    -1,    -1,    -1,   145,    -1,   147,
      -1,   149,    -1,    -1,    -1,   153,    -1,    -1,   156,   157,
     158,    -1,   160,    -1,   162,    -1,    -1,   165,    -1,    -1,
     168,    -1,    -1,    -1,    -1,    -1,   174,   175,    -1,    -1,
      -1,   179,    -1,   181,    -1,    -1,    -1,   185,   186,   187,
     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
     198,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
     208,   209,    -1,   211,   212,   213,    -1,   215,    -1,   217,
      -1,    -1,   220,    -1,   222,   223,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   231,   232,   233,   234,    -1,   236,   237,
     238,   239,   240,   241,   242,   243,    -1,    -1,    -1,    -1,
     248,    -1,   250,    -1,   252,   253,    -1,    -1,   256,   257,
     258,   259,    -1,    -1,   262,   263,   264,   265,   266,    -1,
      -1,    -1,   270,   271,    -1,   273,    -1,    -1,   276,   277,
      -1,    -1,    -1,    -1,   282,    -1,   284,   285,    -1,    -1,
      -1,    -1,   290,    -1,   292,   293,    -1,   295,    -1,    -1,
      -1,   299,    -1,    -1,   302,    -1,   304,    -1,    -1,    -1,
      -1,   309,    -1,   311,   312,   313,   314,    -1,    -1,    -1,
     318,    -1,   320,   321,    -1,    -1,   324,   325,    -1,   327,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,
     338,   339,    -1,   341,    -1,   343,   344,   345,   346,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,
      -1,    -1,    -1,    -1,   382,   383,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   394,    -1,    -1,   397,
      -1,    -1,    -1,   401,   402,    -1,   404,    -1,    -1,    -1,
      -1,   409,    -1,    -1,    -1,   413,    -1,    -1,   416,   417,
     418,   419,    -1,    -1,    -1,   423,   424,   425,    -1,   427,
     428,    -1,    -1,   431,    -1,   433,    -1,    -1,    -1,    -1,
      -1,    -1,   440,    -1,   442,   443,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,     4,     5,
       6,     7,     8,   461,    -1,   463,    12,    -1,   466,    -1,
      -1,   469,    -1,   471,    -1,   473,   474,   475,    -1,    25,
      -1,    -1,    28,    29,    30,    31,    -1,    33,    34,    35,
      36,    -1,    -1,    -1,    40,    -1,    -1,    43,    -1,    45,
      46,    47,    48,    49,    -1,    51,    -1,    -1,    54,    -1,
      56,    -1,    -1,    59,    -1,    -1,    62,    63,    64,    65,
      66,    67,    -1,    -1,    70,    71,    72,    73,    -1,    -1,
      76,    -1,    78,    79,    80,    -1,    82,    -1,    84,    85,
      -1,    -1,    -1,    -1,    90,    91,    92,    93,    -1,    95,
      96,    97,    -1,    99,    -1,   101,   102,    -1,    -1,   105,
     106,    -1,   108,    -1,   110,    -1,    -1,   113,    -1,    -1,
      -1,    -1,   118,    -1,    -1,   121,    -1,    -1,   124,   125,
     126,    -1,   128,   129,   130,    -1,    -1,   133,   134,    -1,
     136,    -1,   138,   139,   140,    -1,    -1,    -1,    -1,   145,
      -1,   147,    -1,   149,    -1,    -1,    -1,   153,    -1,    -1,
     156,   157,   158,    -1,   160,    -1,   162,    -1,    -1,   165,
      -1,    -1,   168,    -1,    -1,    -1,    -1,    -1,   174,   175,
      -1,    -1,    -1,   179,    -1,   181,    -1,    -1,    -1,   185,
     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
     196,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
     206,   207,   208,   209,    -1,   211,   212,   213,    -1,   215,
      -1,   217,    -1,    -1,   220,    -1,   222,   223,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   231,   232,   233,    -1,    -1,
     236,   237,   238,   239,   240,   241,   242,   243,    -1,    -1,
      -1,    -1,   248,    -1,   250,    -1,   252,   253,    -1,    -1,
     256,   257,   258,   259,    -1,    -1,   262,   263,   264,   265,
     266,    -1,    -1,    -1,   270,   271,    -1,   273,    -1,    -1,
     276,   277,    -1,   279,    -1,    -1,   282,    -1,   284,   285,
      -1,    -1,    -1,    -1,   290,    -1,   292,   293,    -1,   295,
      -1,    -1,    -1,   299,    -1,    -1,   302,    -1,   304,    -1,
      -1,    -1,    -1,   309,    -1,   311,   312,   313,   314,    -1,
      -1,    -1,   318,    -1,   320,   321,    -1,    -1,   324,   325,
      -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   337,   338,   339,    -1,   341,    -1,   343,   344,   345,
     346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   375,
      -1,    -1,    -1,    -1,    -1,    -1,   382,   383,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   394,    -1,
      -1,   397,    -1,    -1,    -1,   401,   402,    -1,   404,    -1,
      -1,    -1,    -1,   409,    -1,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,    -1,    -1,    -1,   423,   424,   425,
      -1,   427,   428,    -1,    -1,   431,    -1,   433,    -1,    -1,
      -1,    -1,    -1,    -1,   440,    -1,   442,   443,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,
       4,     5,     6,     7,     8,   461,    -1,   463,    12,    -1,
     466,    -1,    -1,   469,    -1,   471,    -1,   473,   474,   475,
      -1,    25,    -1,    -1,    28,    29,    30,    31,    -1,    33,
      34,    35,    36,    -1,    -1,    -1,    40,    -1,    -1,    43,
      -1,    45,    46,    47,    48,    49,    -1,    51,    -1,    -1,
      54,    -1,    56,    -1,    -1,    59,    -1,    -1,    62,    63,
      64,    65,    66,    67,    -1,    -1,    70,    71,    72,    73,
      -1,    -1,    76,    -1,    78,    79,    80,    -1,    82,    -1,
      84,    85,    -1,    -1,    -1,    -1,    90,    91,    92,    93,
      -1,    95,    96,    97,    -1,    99,    -1,   101,   102,    -1,
      -1,   105,   106,    -1,   108,    -1,   110,    -1,    -1,   113,
      -1,    -1,    -1,    -1,   118,   119,    -1,   121,    -1,    -1,
     124,   125,   126,    -1,   128,   129,   130,    -1,    -1,   133,
     134,    -1,   136,    -1,   138,   139,   140,    -1,    -1,    -1,
      -1,   145,    -1,   147,    -1,   149,    -1,    -1,    -1,   153,
      -1,    -1,   156,   157,   158,    -1,   160,    -1,   162,    -1,
      -1,   165,    -1,    -1,   168,    -1,    -1,    -1,    -1,    -1,
     174,   175,    -1,    -1,    -1,   179,    -1,   181,    -1,    -1,
      -1,   185,   186,   187,   188,   189,   190,   191,   192,   193,
     194,   195,   196,   197,   198,   199,   200,    -1,   202,   203,
     204,   205,   206,   207,   208,   209,    -1,   211,   212,   213,
      -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   231,   232,   233,
      -1,    -1,   236,   237,   238,   239,   240,   241,   242,   243,
      -1,    -1,    -1,    -1,   248,    -1,   250,    -1,   252,   253,
      -1,    -1,   256,   257,   258,   259,    -1,    -1,   262,   263,
     264,   265,   266,    -1,    -1,    -1,   270,   271,    -1,   273,
      -1,    -1,   276,   277,    -1,    -1,    -1,    -1,   282,    -1,
     284,   285,    -1,    -1,    -1,    -1,   290,    -1,   292,   293,
      -1,   295,    -1,    -1,    -1,   299,    -1,    -1,   302,    -1,
     304,    -1,    -1,    -1,    -1,   309,    -1,   311,   312,   313,
     314,    -1,    -1,    -1,   318,    -1,   320,   321,    -1,    -1,
     324,   325,    -1,   327,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   337,   338,   339,    -1,   341,    -1,   343,
     344,   345,   346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,   382,   383,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     394,    -1,    -1,   397,    -1,    -1,    -1,   401,   402,    -1,
     404,    -1,    -1,    -1,    -1,   409,    -1,    -1,    -1,   413,
      -1,    -1,   416,   417,   418,   419,    -1,    -1,    -1,   423,
     424,   425,    -1,   427,   428,    -1,    -1,   431,    -1,   433,
      -1,    -1,    -1,    -1,    -1,    -1,   440,    -1,   442,   443,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   455,     4,     5,     6,     7,     8,   461,    -1,   463,
      12,    -1,   466,    -1,    -1,   469,    -1,   471,    -1,   473,
     474,   475,    -1,    25,    -1,    -1,    28,    29,    30,    31,
      -1,    33,    34,    35,    36,    -1,    -1,    -1,    40,    -1,
      -1,    43,    -1,    45,    46,    47,    48,    49,    -1,    51,
      -1,    -1,    54,    -1,    56,    -1,    -1,    59,    -1,    -1,
      62,    63,    64,    65,    66,    67,    -1,    -1,    70,    71,
      72,    73,    -1,    -1,    76,    -1,    78,    79,    80,    -1,
      82,    -1,    84,    85,    -1,    -1,    -1,    -1,    90,    91,
      92,    93,    -1,    95,    96,    97,    -1,    99,    -1,   101,
     102,    -1,    -1,   105,   106,    -1,   108,    -1,   110,    -1,
      -1,   113,    -1,    -1,    -1,    -1,   118,    -1,    -1,   121,
      -1,    -1,   124,   125,   126,    -1,   128,   129,   130,    -1,
      -1,   133,   134,    -1,   136,    -1,   138,   139,   140,    -1,
      -1,    -1,    -1,   145,    -1,   147,    -1,   149,    -1,    -1,
      -1,   153,    -1,    -1,   156,   157,   158,    -1,   160,    -1,
     162,    -1,    -1,   165,    -1,    -1,   168,    -1,    -1,    -1,
      -1,    -1,   174,   175,    -1,    -1,    -1,   179,    -1,   181,
      -1,    -1,    -1,   185,   186,   187,   188,   189,   190,   191,
     192,   193,   194,   195,   196,   197,   198,   199,   200,    -1,
     202,   203,   204,   205,   206,   207,   208,   209,    -1,   211,
     212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,
     222,   223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   231,
     232,   233,    -1,    -1,   236,   237,   238,   239,   240,   241,
     242,   243,    -1,    -1,    -1,    -1,   248,    -1,   250,    -1,
     252,   253,    -1,    -1,   256,   257,   258,   259,    -1,    -1,
     262,   263,   264,   265,   266,    -1,    -1,    -1,   270,   271,
      -1,   273,    -1,    -1,   276,   277,    -1,    -1,    -1,    -1,
     282,    -1,   284,   285,    -1,    -1,    -1,    -1,   290,    -1,
     292,   293,    -1,   295,    -1,    -1,    -1,   299,    -1,    -1,
     302,    -1,   304,    -1,    -1,    -1,    -1,   309,    -1,   311,
     312,   313,   314,    -1,    -1,    -1,   318,    -1,   320,   321,
      -1,    -1,   324,   325,    -1,   327,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   337,   338,   339,    -1,   341,
      -1,   343,   344,   345,   346,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,
     382,   383,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   394,    -1,    -1,   397,    -1,    -1,    -1,   401,
     402,    -1,   404,    -1,    -1,    -1,    -1,   409,    -1,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,    -1,    -1,
      -1,   423,   424,   425,    -1,   427,   428,    -1,    -1,   431,
      -1,   433,    -1,    -1,    -1,    -1,    -1,    -1,   440,    -1,
     442,   443,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   455,     4,     5,     6,     7,     8,   461,
      -1,   463,    12,    -1,   466,    -1,    -1,   469,    -1,   471,
      -1,   473,   474,   475,    -1,    25,    -1,    -1,    28,    29,
      30,    31,    -1,    33,    34,    35,    36,    -1,    -1,    -1,
      40,    -1,    -1,    43,    -1,    45,    46,    47,    48,    49,
      -1,    51,    -1,    -1,    54,    -1,    56,    -1,    -1,    59,
      -1,    -1,    62,    63,    64,    65,    66,    67,    -1,    -1,
      70,    71,    72,    73,    -1,    -1,    76,    -1,    78,    79,
      80,    -1,    82,    -1,    84,    85,    -1,    -1,    -1,    -1,
      90,    91,    92,    93,    -1,    95,    96,    97,    -1,    99,
      -1,   101,   102,    -1,    -1,   105,   106,    -1,   108,    -1,
     110,    -1,    -1,   113,    -1,    -1,    -1,    -1,   118,    -1,
      -1,   121,    -1,    -1,   124,   125,   126,    -1,   128,   129,
     130,    -1,    -1,   133,   134,    -1,   136,    -1,   138,   139,
     140,    -1,    -1,    -1,    -1,   145,    -1,   147,    -1,   149,
      -1,    -1,    -1,   153,    -1,    -1,   156,   157,   158,    -1,
     160,    -1,   162,    -1,    -1,   165,    -1,    -1,   168,    -1,
      -1,    -1,    -1,    -1,   174,   175,    -1,    -1,    -1,   179,
      -1,   181,    -1,    -1,    -1,   185,   186,   187,   188,   189,
     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
     200,    -1,   202,   203,   204,   205,   206,   207,   208,   209,
      -1,   211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,
     220,    -1,   222,   223,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   231,   232,   233,    -1,    -1,   236,   237,   238,   239,
     240,   241,   242,   243,    -1,    -1,    -1,    -1,   248,    -1,
     250,    -1,   252,   253,    -1,    -1,   256,   257,   258,   259,
      -1,    -1,   262,   263,   264,   265,   266,    -1,    -1,    -1,
     270,   271,    -1,   273,    -1,    -1,   276,   277,    -1,    -1,
      -1,    -1,   282,    -1,   284,   285,    -1,    -1,    -1,    -1,
     290,    -1,   292,   293,    -1,   295,    -1,    -1,    -1,   299,
      -1,    -1,   302,    -1,   304,    -1,    -1,    -1,    -1,   309,
      -1,   311,   312,   313,   314,    -1,    -1,    -1,   318,    -1,
     320,   321,    -1,    -1,   324,   325,    -1,   327,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   337,   338,   339,
      -1,   341,    -1,   343,   344,   345,   346,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,    -1,    -1,
      -1,    -1,   382,   383,    -1,    24,    -1,    26,    -1,    -1,
      -1,    -1,    -1,    32,   394,    34,    -1,   397,    -1,    -1,
      -1,   401,   402,    -1,   404,    44,    -1,    -1,    -1,   409,
      -1,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
      -1,    -1,    -1,   423,   424,   425,    -1,   427,   428,    -1,
      -1,   431,    -1,   433,    -1,    -1,    -1,    -1,    -1,    -1,
     440,    -1,   442,   443,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    90,    91,    -1,    -1,   455,    -1,    -1,    -1,    -1,
      -1,   461,    -1,   463,    -1,    -1,   466,   106,    -1,   469,
      -1,   471,    -1,   473,   474,   475,   115,    -1,    31,   118,
     119,    -1,   121,    -1,    37,    38,   125,    -1,    -1,    -1,
      -1,   130,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    56,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,
      -1,    -1,   161,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      93,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   105,    -1,    -1,    -1,    -1,   110,    -1,   112,
      -1,    -1,    -1,   202,   117,    -1,    -1,    -1,   207,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   228,
      -1,    -1,   145,   232,   147,    -1,   149,    -1,    -1,    -1,
      -1,    -1,   241,   242,   243,    -1,    -1,    -1,   161,   162,
     249,    -1,   165,    -1,    -1,    -1,    -1,   170,   257,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   179,    -1,   181,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   284,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   296,    -1,   212,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   235,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   264,    -1,    -1,    -1,    -1,    -1,   270,   271,    -1,
      -1,   274,   275,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   382,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,
     313,    -1,    -1,    -1,   317,   404,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   418,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   428,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   382,
     383
};

/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
   symbol of state STATE-NUM.  */
static const unsigned short int yystos[] =
{
       0,     3,     5,    26,    27,    30,    32,    35,    38,    41,
      43,    44,    46,    48,    49,    50,    52,    53,    55,    60,
      61,    62,    64,    65,    67,    68,    69,    70,    73,    76,
      80,    81,    83,    92,   102,   106,   107,   122,   123,   148,
     249,   253,   255,   260,   300,   337,   338,   437,   487,   496,
     497,   498,   499,   500,   502,   507,   508,   513,   611,   626,
     629,   637,   639,   641,   644,   649,   651,   656,   659,   663,
     667,   675,   676,   785,   787,   794,   797,   823,   831,   844,
     846,   860,   863,   866,   872,   876,   880,   882,   883,   915,
     930,   936,   937,   944,   947,   970,   973,   974,   975,     4,
       5,     6,     7,     8,    12,    25,    28,    29,    30,    31,
      33,    34,    35,    36,    40,    43,    45,    46,    47,    48,
      49,    51,    54,    56,    59,    62,    63,    64,    65,    66,
      67,    70,    71,    72,    73,    76,    78,    79,    80,    82,
      84,    85,    90,    91,    92,    93,    95,    96,    97,    99,
     101,   102,   105,   106,   108,   110,   113,   118,   121,   124,
     125,   126,   128,   129,   130,   133,   134,   136,   138,   139,
     140,   145,   147,   149,   153,   156,   157,   158,   160,   162,
     165,   168,   174,   175,   179,   181,   185,   186,   187,   188,
     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
     199,   200,   202,   203,   204,   205,   206,   207,   208,   209,
     211,   212,   213,   215,   217,   220,   222,   223,   231,   232,
     233,   236,   237,   238,   239,   240,   241,   242,   243,   248,
     250,   252,   253,   256,   257,   258,   259,   262,   263,   264,
     265,   266,   270,   271,   273,   276,   277,   282,   284,   285,
     290,   292,   293,   295,   299,   302,   304,   309,   311,   312,
     313,   314,   318,   320,   321,   324,   325,   327,   337,   338,
     339,   341,   343,   344,   345,   346,   356,   375,   382,   383,
     394,   397,   401,   402,   404,   409,   413,   416,   417,   418,
     419,   423,   424,   425,   427,   428,   431,   433,   440,   442,
     443,   455,   461,   463,   466,   469,   471,   473,   474,   475,
     494,   906,   907,   908,   911,   914,   159,   368,   622,   179,
     308,   658,   971,    56,    85,   146,   267,   277,   297,   368,
     531,   532,   533,   546,   603,   832,   786,   161,   277,   292,
     368,   455,   793,   911,   658,   176,   279,   909,   911,   912,
     795,   881,   118,   161,   275,   274,   275,   932,   658,   877,
     658,   873,   280,   911,   678,   680,   681,   847,    73,    76,
      70,   282,    70,   275,   845,   932,   824,   932,   161,   932,
     932,   948,   932,   932,   945,   224,   917,   911,   911,   798,
      68,   487,   677,     0,     3,   337,   136,   864,   906,   911,
     911,   223,     4,   244,   494,   614,   911,   275,   932,   461,
     972,   280,   403,   534,   275,   532,   292,   161,   159,   184,
     339,   842,   843,   719,   720,   911,   908,   403,   792,   789,
     932,   503,   867,   120,   155,   184,   800,    19,    29,    37,
      50,    57,    58,    74,    75,    77,    78,    80,    94,   104,
     105,   110,   115,   116,   119,   135,   137,   141,   150,   154,
     173,   180,   182,   201,   214,   216,   218,   219,   245,   258,
     279,   283,   286,   287,   288,   289,   294,   303,   314,   317,
     319,   321,   345,   346,   350,   357,   359,   360,   361,   362,
     363,   364,   365,   366,   367,   368,   369,   370,   375,   376,
     377,   378,   380,   381,   384,   385,   386,   387,   388,   390,
     391,   392,   393,   394,   395,   396,   397,   401,   403,   405,
     406,   407,   408,   409,   410,   411,   412,   413,   416,   419,
     420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
     430,   431,   432,   433,   434,   436,   437,   438,   439,   440,
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
     453,   454,   455,   456,   457,   458,   459,   463,   464,   465,
     479,   480,   485,   487,   490,   491,   493,   494,   696,   699,
     702,   703,   704,   709,   895,   897,   899,   900,   904,   910,
     911,   984,   990,   113,   144,   184,   886,   166,   906,   931,
     932,    56,    94,   852,   878,   932,    56,    70,   238,   874,
     875,    67,   679,    86,   127,   155,   272,   468,   469,   470,
     471,   472,   473,   685,   686,   687,    31,    37,    38,    56,
      70,    93,   105,   110,   112,   117,   145,   147,   149,   161,
     162,   165,   170,   179,   181,   212,   223,   235,   264,   270,
     271,   274,   275,   312,   313,   317,   382,   579,   602,   848,
     852,   853,   856,   922,   631,   632,   631,   631,   306,   630,
     631,   791,   906,   184,   830,   640,   664,   665,   906,   642,
     652,    26,    38,    41,    44,    46,    50,    55,    63,    68,
      69,    79,    83,    86,   138,   148,   161,   236,   246,   248,
     266,   298,   949,   951,   952,   660,   638,    86,   946,   949,
     916,   144,   120,   801,   830,   680,   677,   488,   911,   862,
     861,    10,    88,   751,   752,   938,   911,   613,   906,   650,
     509,   216,   911,   534,   908,   911,   144,   833,   839,   840,
     911,   842,   696,   721,   221,   135,   911,   116,   912,   913,
     961,   962,   792,   301,   504,    56,    70,   124,   156,   181,
     235,   238,   252,   270,   274,   868,   869,   932,   622,   487,
     487,   487,   487,   487,   487,   487,   487,   487,   487,   487,
     696,   487,   487,   487,   487,   487,   695,   487,   487,   986,
     990,   487,   487,   487,   487,   722,   723,   724,   696,   487,
     487,   487,   487,   487,   154,   279,   487,   487,   487,   487,
     294,   487,   895,   487,   895,   487,   895,   487,   487,   487,
     487,   696,   726,   487,   487,   487,   695,   487,   695,   487,
     487,   487,   487,   487,   487,   487,   487,   487,   487,   487,
     487,   487,   487,   487,   487,   487,   487,   487,   487,   487,
     487,   487,   487,   696,   487,   487,   487,   487,   487,   487,
     487,   487,   487,   487,   487,   487,   487,   487,   487,   487,
     487,   695,   487,   487,   487,   487,   487,   487,   487,   487,
     487,   487,   487,   487,   487,   487,   487,   487,   487,   487,
     487,   487,   487,   487,   487,   487,   487,   695,   695,   695,
     487,   487,   487,   487,   696,   696,   696,    68,   696,   696,
     911,   493,   912,   911,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,    87,   167,   177,
     216,   226,   227,   247,   310,   358,   477,   478,   479,   480,
     481,   482,   483,   484,   697,   371,   372,   373,   374,   375,
     398,   399,   400,   401,   413,   414,   415,   416,   419,   440,
     441,   462,   463,   749,   109,   910,   494,   678,   985,    56,
     179,   885,   102,   144,   906,   933,   934,   657,   181,   645,
     102,   489,   911,   296,   976,   977,   481,   689,   690,   691,
     687,    45,   487,   275,   368,   270,   156,   270,   181,   177,
     855,   285,   855,   389,   270,    56,   274,   855,   144,   167,
     854,   857,   270,   285,   329,   767,   769,   767,   260,   541,
     912,   855,   857,   181,   383,   111,   237,   304,   628,    51,
      72,   633,   634,   627,    36,   622,   790,   791,   167,   489,
     671,   672,   790,   790,   277,   954,   274,    33,    70,   953,
     117,   955,   235,   950,   224,   956,   221,   489,   661,   662,
     906,   790,   950,   221,   147,   179,   222,   264,   918,   919,
     920,   921,   493,   501,   909,   166,   791,   802,   803,   488,
     977,   979,   980,   981,   675,   154,   865,   896,   910,   911,
     911,     7,   139,   911,   939,   940,   119,   528,   529,   530,
     539,   540,   587,   612,   790,   185,   186,   187,   188,   189,
     190,   191,   193,   194,   195,   196,   197,   198,   199,   200,
     510,   511,   512,   135,   516,   906,   517,   284,   301,   604,
     839,   906,   911,   489,   835,   494,   841,   489,   906,   695,
     493,   402,   489,   790,   493,   505,   506,   102,   306,   489,
     870,   802,   696,    86,   716,   753,   127,   716,   753,   696,
     716,   716,   716,   716,   716,   696,   696,   696,   696,   696,
     696,   488,   904,   678,   987,   696,   696,   696,   723,   356,
     725,   904,   696,   488,   696,   696,   696,   904,   696,   719,
     719,   696,   696,   696,   696,   716,   716,   716,   460,   719,
     696,   696,   696,   488,   696,   696,   696,   696,   696,   696,
     696,   696,   696,   696,   749,   696,   696,   696,   696,   696,
     696,   719,   127,   713,   895,   320,   321,   345,   346,   750,
     696,   696,   488,   696,   696,   696,   719,   696,   696,   696,
     696,   696,   696,   696,   696,   696,   719,   719,   719,   696,
     696,   696,   696,   696,   696,   719,   700,   703,   488,   696,
     696,   696,   696,   696,   696,   696,   696,    98,   172,   281,
     696,   707,   708,   707,   707,   706,   719,   706,   706,   895,
     488,   696,   488,   696,   696,   696,   141,   182,   219,   245,
     350,   772,   488,   489,   696,   147,   179,   264,   923,    22,
     494,   696,   696,   177,   216,   218,   696,   696,   696,   696,
     487,   988,   990,   703,   167,   177,   247,   358,   696,   696,
     696,   696,   701,   703,   696,   696,   696,   702,   696,   702,
     696,   696,   696,   696,    28,    86,   696,   698,   480,   912,
     911,   488,   991,   163,   668,    56,   752,   489,   790,   280,
     476,   879,   790,   875,    86,   127,   983,   489,   682,   693,
     696,   902,   911,   167,   858,   481,   906,   534,   909,   913,
     389,   854,   855,   911,   854,   770,   772,   849,   906,   857,
     855,    82,   635,   489,   635,    71,   487,   491,   731,   736,
     737,   280,   489,   119,   666,   911,   665,   161,   171,   600,
     601,   673,   136,   339,   643,   136,   206,   318,   325,   339,
     653,   654,   655,   274,   487,   963,   963,   963,   963,   481,
     906,   911,   960,   952,   489,   280,   144,   489,   960,   489,
     119,   282,   911,   924,   926,   208,   428,   493,   579,   925,
     912,   803,   799,   228,   763,   769,   982,     6,     7,     8,
      10,    13,    14,    15,    16,   139,   941,   943,   305,   754,
     530,   109,   579,    24,    26,    32,    34,    44,    90,    91,
     106,   115,   118,   121,   125,   126,   130,   160,   161,   202,
     207,   232,   241,   242,   243,   249,   257,   284,   296,   382,
     404,   418,   428,   536,   538,   539,   540,   615,   616,   617,
     763,   653,    10,    10,    10,    10,    10,    10,    10,    10,
      10,    10,    10,    10,    10,    10,    10,   489,   528,   514,
     290,    99,   153,   259,   605,   605,   221,   837,   834,   494,
     840,   144,   481,   911,   752,   696,   788,   912,   100,   962,
     103,   254,   623,   912,   489,   244,   869,   790,   871,   796,
     489,   488,   717,   710,   488,   481,   489,   488,   488,   488,
     488,   488,   489,   489,    88,   488,   488,   301,   489,   488,
     991,   489,   489,   488,   489,   488,   487,   489,   489,   488,
     489,   489,   488,   488,   301,   488,   488,   488,   488,   489,
     488,   488,   489,   488,   488,   488,   728,   729,   488,   489,
     489,   488,   489,   489,   488,   489,   488,   489,   488,   489,
     489,   489,   488,   489,   489,   144,   489,   489,   488,   489,
     488,   489,   488,   489,   488,   489,   488,   712,   489,   489,
     488,   489,   488,   489,   488,   489,   488,   489,   489,   489,
     488,   488,   488,   488,   489,   488,   489,   488,   489,   488,
     488,   488,   488,   488,   488,   488,   489,   489,   488,   489,
     488,     9,    11,    12,    18,    19,    20,    21,    87,   167,
     177,   216,   226,   227,   247,   310,   358,   477,   478,   479,
     480,   481,   482,   483,   484,   697,   488,   489,   489,   488,
     489,   488,   489,   144,   489,   489,   144,   696,   144,   696,
     144,   696,   144,   488,   488,   706,   488,   488,   488,   488,
     488,   489,   488,   488,   489,   488,   488,   489,   489,   719,
     492,   494,   494,   494,   912,   696,   911,   696,   218,   719,
     678,   989,   134,   758,   487,   988,   703,   696,   701,     9,
      11,    12,    18,    19,    20,    21,    87,   167,   177,   216,
     226,   227,   247,   310,   358,   477,   478,   479,   480,   481,
     482,   483,   484,   697,   749,   749,   988,   696,   494,   909,
     669,   670,   906,   184,   244,   307,   935,   934,   653,   909,
     696,   136,   299,   339,   646,   647,   648,   978,   690,   144,
     166,   683,   684,   762,   763,   783,   692,   494,   909,   144,
     859,   488,   911,    70,   855,   855,   220,   489,   181,   270,
     851,   854,   906,   512,   636,   634,    68,   487,   731,   738,
     911,    39,   164,   169,   210,   260,   272,   407,   438,   489,
     735,   906,   909,   791,   487,   654,   911,   964,   965,   494,
     494,   280,   662,   906,   909,   148,   144,   919,   494,   168,
     494,    10,    22,   814,    94,   119,   580,   581,   912,   389,
     814,   493,   912,    94,   119,   582,   583,   912,    68,   260,
     302,   303,   487,   524,   804,   808,   100,   767,   942,   755,
     768,   769,   814,   815,   815,   112,   114,   146,   267,   551,
     554,   555,   598,   600,   621,   621,   621,   815,   143,   234,
     600,   621,   815,   815,   815,   280,   133,   815,   170,   276,
     170,   276,   133,   815,   815,   815,   815,   815,   815,    10,
      88,   280,   625,   815,   815,   815,   815,   815,   621,   815,
     536,   489,   487,   494,   550,   556,   905,   911,   909,   909,
     909,   141,   182,   219,   245,   350,   773,   909,   772,   772,
     772,   909,   909,   909,   909,   909,   909,   772,   511,   177,
     487,   518,   535,   537,   538,   328,   340,   343,   547,   906,
     301,   754,   911,   731,   494,   841,   279,   428,   506,    55,
     804,   696,   696,   719,   488,   696,   405,   696,   696,    94,
     213,   317,   320,   321,   341,   346,   351,   718,   580,   718,
     719,   719,   696,   696,   904,   719,   696,   696,   580,   696,
     696,   379,   727,   696,   730,   719,   696,   702,   702,   910,
     696,   696,   719,   910,   696,   696,   696,   719,   219,   696,
     696,   696,   696,   719,   219,   696,   696,   696,   696,   696,
     719,   696,   696,   696,   696,   696,   696,   696,   696,   696,
     177,   216,   218,   696,   696,   696,   696,   696,   703,   177,
     247,   358,   696,   696,   696,   696,   701,   696,   696,   696,
     702,   696,   702,   696,   696,   696,   696,   696,   698,   696,
     696,   696,   405,   696,   696,   696,   696,   696,   144,   696,
     144,   696,   144,   696,   219,   696,   696,   696,   488,   494,
     609,   488,   991,   703,   719,   758,    87,   696,   696,   177,
     216,   218,   696,   696,   696,   696,   487,   988,   703,   167,
     177,   247,   358,   696,   696,   696,   696,   701,   696,   696,
     696,   702,   696,   702,   696,   696,   696,   696,   696,   698,
     911,   884,   489,   671,   307,   179,   647,   676,    42,   731,
     230,   231,   779,   780,    55,   389,   688,   783,   768,   684,
      88,   694,   909,   911,   481,   911,   773,   850,   312,   313,
     306,   772,   772,   854,   489,   739,   740,   738,   488,   979,
     736,   169,   169,   169,   407,   438,   826,   827,   904,   731,
     229,   742,   742,   731,   731,   752,   234,   747,   911,   488,
     489,   481,   481,   961,   224,   961,   911,   175,   911,    86,
      94,   119,   221,   696,   929,   109,   585,   913,   279,   427,
     428,   928,   923,   814,   525,   805,   487,   811,   816,   811,
     488,   524,   807,   901,   902,   904,   809,   764,   487,   696,
     119,   584,   586,   912,   581,   608,   905,   601,   601,   107,
     143,   234,   297,   553,   599,   552,   553,   608,   905,   905,
     909,   171,   171,   905,   905,   773,   772,   772,   579,   815,
     772,   815,   773,   773,   119,   772,   239,   240,   543,   772,
     772,   772,   906,   119,   129,   140,   311,   542,   541,   487,
     541,     6,   139,   217,   544,   905,   909,   617,   548,   549,
     550,   551,   911,    25,   139,   624,   246,   552,   590,   557,
     494,   906,   177,   519,   524,   548,   159,   437,   521,   887,
     489,   537,   291,   515,   731,   762,   836,   752,   279,   221,
     821,   488,   711,   489,   696,   488,   488,   487,   573,   573,
     573,   328,   328,   488,   488,   488,   488,   488,   488,   167,
     306,   705,   488,   488,   489,   488,   488,   488,   696,   466,
     467,   460,   488,   489,   749,   749,   488,   488,   488,   488,
     488,   488,   489,   488,   488,   488,   488,   488,   488,   488,
     715,   763,   489,   488,   489,   488,   488,   488,   489,   488,
     488,   489,   488,   488,   488,   488,   488,   488,   696,   218,
     488,   758,   703,   696,   701,    87,   749,   749,   988,   489,
     488,   488,   696,   488,   389,   488,   488,   489,   489,   488,
     696,   488,   696,   488,   696,   488,   489,   488,   488,   488,
     911,   488,   696,   696,   218,   719,   758,   487,   988,   703,
     696,   701,    87,   749,   749,   988,   887,   670,   159,   674,
     754,   754,   909,   909,   493,   781,   782,   167,    83,   909,
     911,   494,   767,   187,   855,   512,   685,   488,   488,   407,
     731,   742,   742,   489,   825,   814,   169,   169,   221,   301,
     142,   159,   300,   743,   488,   489,   965,   251,   966,   144,
     244,   250,   263,   927,   586,   814,   487,   487,   926,   696,
     685,   812,   813,   904,   817,   489,   487,   808,   488,   488,
     489,   976,   696,   765,   903,   119,   696,   819,   820,   696,
     171,   171,   601,   608,   604,    44,   260,   618,   608,   623,
     581,   909,   909,   790,   619,   488,   489,   911,   906,    94,
      95,    96,    97,   140,   183,   209,   213,   215,   260,   262,
     315,   316,   317,   320,   321,   322,   323,   324,   326,   327,
     328,   330,   331,   332,   333,   334,   335,   340,   342,   344,
     345,   346,   347,   348,   349,   352,   353,   394,   409,   423,
     424,   425,   431,   433,   463,   558,   561,   562,   563,   564,
     565,   566,   567,   911,   906,   488,   488,    88,   527,   537,
     909,   487,   838,   329,   771,   754,   128,   488,   696,   749,
     219,   101,   295,   314,   579,   588,    97,   238,   488,   696,
     696,   696,   696,   488,   488,   696,   261,   714,   219,   696,
     696,   696,   758,    87,   696,   696,   749,   696,   696,   696,
     488,   488,   488,   219,   488,   719,   758,    87,   696,   166,
     174,   768,   151,   759,   784,   912,   489,   442,   481,    10,
     689,   752,   229,   169,   169,   827,   754,   820,   731,   731,
     696,   732,   600,   744,   744,   744,   911,    59,   268,   273,
     309,   474,   475,   958,   959,   306,   967,   961,   108,   293,
     244,   928,   279,   279,   814,   689,   489,   814,   818,   819,
     816,   810,   808,   901,   489,    89,   122,   766,   488,   489,
     608,   604,   487,   119,   119,   556,   585,   488,   558,   549,
     591,   487,   573,   487,   568,   569,   317,   352,   562,   564,
     588,   317,   353,   353,   354,   560,   573,   568,   336,   559,
     568,   588,   588,   568,   573,   573,   588,   487,   573,    34,
      90,    94,   109,   119,   216,   218,   221,   234,   262,   297,
     575,   576,   577,   589,   354,   487,   588,   487,   487,   487,
     573,   487,   569,   574,   494,   488,   520,   535,   487,   524,
     606,   607,   911,   754,   773,   822,   489,   488,   488,   580,
     417,    47,   488,   467,   488,   488,   489,   896,   488,   489,
     488,   488,   488,   696,   488,   488,   488,   488,   488,   489,
     488,   696,   275,   100,   152,   756,   111,   888,   782,   417,
     909,   741,   169,   731,   731,   762,   221,   733,   221,   734,
     487,   745,   279,   279,   279,    87,   957,   148,   203,   204,
     205,   968,   969,   488,   488,   929,   526,   813,   820,   488,
     979,   903,   820,   487,   487,   606,   321,   345,   346,   479,
     480,   898,   899,   624,   575,   201,   221,   487,   592,   594,
     595,   596,   219,   219,   341,   351,   355,   570,   571,   572,
     588,   354,   487,   570,   487,   570,   570,   588,   219,   570,
     909,   584,   426,   578,   898,   218,    83,   119,   171,   577,
     171,   219,   219,   219,   219,   570,   219,   570,   911,   979,
     521,   524,   522,   488,   489,   766,   487,   171,   696,   696,
     696,   716,   719,   906,   760,   903,   757,   762,   131,   132,
     225,   278,   889,   890,   178,   891,    87,   545,   684,   768,
     736,   771,   696,   301,   696,   301,   748,   911,   487,   958,
     224,   772,   772,   772,   969,   545,   766,   606,   606,   488,
     900,   900,   620,   145,   233,   265,    41,    83,   593,   911,
     596,   488,   488,   489,   572,   610,   896,   610,   488,   695,
     426,   302,   488,   488,   488,   488,   488,   976,   607,   219,
      83,   488,   488,   489,   488,   488,   888,   306,   489,   761,
     766,   696,   768,   100,   100,   131,   100,   890,   269,   278,
     892,   893,   188,   688,   221,   487,   487,   488,   489,   746,
     747,   488,   488,   624,   103,   217,   254,   260,   597,   597,
     488,   489,   219,   488,   489,   488,   695,   588,   588,   523,
     766,   488,   828,   829,   904,   696,   891,    40,    66,   903,
     435,   774,   896,   896,   100,   896,   100,   100,   893,    10,
     696,   748,   748,   911,   488,   590,    84,   119,   218,   594,
     911,   488,   588,   896,   588,   979,   489,   814,   488,   159,
     894,   766,   911,   896,   896,   896,   773,   492,   488,   488,
     829,   820,   219,   487,   806,   775,    87,   178,   488,   807,
     487,   192,   488,   691,   776,   777,   778,    10,   696,   488,
     489,   772,   778
};

#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# define YYSIZE_T __SIZE_TYPE__
#endif
#if ! defined (YYSIZE_T) && defined (size_t)
# define YYSIZE_T size_t
#endif
#if ! defined (YYSIZE_T)
# if defined (__STDC__) || defined (__cplusplus)
#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
#  define YYSIZE_T size_t
# endif
#endif
#if ! defined (YYSIZE_T)
# define YYSIZE_T unsigned int
#endif

#define yyerrok		(yyerrstatus = 0)
#define yyclearin	(yychar = YYEMPTY)
#define YYEMPTY		(-2)
#define YYEOF		0

#define YYACCEPT	goto yyacceptlab
#define YYABORT		goto yyabortlab
#define YYERROR		goto yyerrorlab


/* Like YYERROR except do call yyerror.  This remains here temporarily
   to ease the transition to the new meaning of YYERROR, for GCC.
   Once GCC version 2 has supplanted version 1, this can go.  */

#define YYFAIL		goto yyerrlab

#define YYRECOVERING()  (!!yyerrstatus)

#define YYBACKUP(Token, Value)					\
do								\
  if (yychar == YYEMPTY && yylen == 1)				\
    {								\
      yychar = (Token);						\
      yylval = (Value);						\
      yytoken = YYTRANSLATE (yychar);				\
      YYPOPSTACK;						\
      goto yybackup;						\
    }								\
  else								\
    { 								\
      yyerror ("syntax error: cannot back up");\
      YYERROR;							\
    }								\
while (0)


#define YYTERROR	1
#define YYERRCODE	256


/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
   If N is 0, then set CURRENT to the empty location which ends
   the previous symbol: RHS[0] (always defined).  */

#define YYRHSLOC(Rhs, K) ((Rhs)[K])
#ifndef YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N)				\
    do									\
      if (N)								\
	{								\
	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
	}								\
      else								\
	{								\
	  (Current).first_line   = (Current).last_line   =		\
	    YYRHSLOC (Rhs, 0).last_line;				\
	  (Current).first_column = (Current).last_column =		\
	    YYRHSLOC (Rhs, 0).last_column;				\
	}								\
    while (0)
#endif


/* YY_LOCATION_PRINT -- Print the location on the stream.
   This macro was not mandated originally: define only if we know
   we won't break user code: when these are the locations we know.  */

#ifndef YY_LOCATION_PRINT
# if YYLTYPE_IS_TRIVIAL
#  define YY_LOCATION_PRINT(File, Loc)			\
     fprintf (File, "%d.%d-%d.%d",			\
              (Loc).first_line, (Loc).first_column,	\
              (Loc).last_line,  (Loc).last_column)
# else
#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
# endif
#endif


/* YYLEX -- calling `yylex' with the right arguments.  */

#ifdef YYLEX_PARAM
# define YYLEX yylex (&yylval, YYLEX_PARAM)
#else
# define YYLEX yylex (&yylval)
#endif

/* Enable debugging if requested.  */
#if YYDEBUG

# ifndef YYFPRINTF
#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
#  define YYFPRINTF fprintf
# endif

# define YYDPRINTF(Args)			\
do {						\
  if (yydebug)					\
    YYFPRINTF Args;				\
} while (0)

# define YY_SYMBOL_PRINT(Title, Type, Value, Location)		\
do {								\
  if (yydebug)							\
    {								\
      YYFPRINTF (stderr, "%s ", Title);				\
      yysymprint (stderr, 					\
                  Type, Value);	\
      YYFPRINTF (stderr, "\n");					\
    }								\
} while (0)

/*------------------------------------------------------------------.
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
| TOP (included).                                                   |
`------------------------------------------------------------------*/

#if defined (__STDC__) || defined (__cplusplus)
static void
yy_stack_print (short int *bottom, short int *top)
#else
static void
yy_stack_print (bottom, top)
    short int *bottom;
    short int *top;
#endif
{
  YYFPRINTF (stderr, "Stack now");
  for (/* Nothing. */; bottom <= top; ++bottom)
    YYFPRINTF (stderr, " %d", *bottom);
  YYFPRINTF (stderr, "\n");
}

# define YY_STACK_PRINT(Bottom, Top)				\
do {								\
  if (yydebug)							\
    yy_stack_print ((Bottom), (Top));				\
} while (0)


/*------------------------------------------------.
| Report that the YYRULE is going to be reduced.  |
`------------------------------------------------*/

#if defined (__STDC__) || defined (__cplusplus)
static void
yy_reduce_print (int yyrule)
#else
static void
yy_reduce_print (yyrule)
    int yyrule;
#endif
{
  int yyi;
  unsigned int yylno = yyrline[yyrule];
  YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
             yyrule - 1, yylno);
  /* Print the symbols being reduced, and their result.  */
  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
    YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
  YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
}

# define YY_REDUCE_PRINT(Rule)		\
do {					\
  if (yydebug)				\
    yy_reduce_print (Rule);		\
} while (0)

/* Nonzero means print parse trace.  It is left uninitialized so that
   multiple parsers can coexist.  */
int yydebug;
#else /* !YYDEBUG */
# define YYDPRINTF(Args)
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
# define YY_STACK_PRINT(Bottom, Top)
# define YY_REDUCE_PRINT(Rule)
#endif /* !YYDEBUG */


/* YYINITDEPTH -- initial size of the parser's stacks.  */
#ifndef	YYINITDEPTH
# define YYINITDEPTH 200
#endif

/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
   if the built-in stack extension method is used).

   Do not make this value too large; the results are undefined if
   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
   evaluated with infinite-precision integer arithmetic.  */

#ifndef YYMAXDEPTH
# define YYMAXDEPTH 10000
#endif



#if YYERROR_VERBOSE

# ifndef yystrlen
#  if defined (__GLIBC__) && defined (_STRING_H)
#   define yystrlen strlen
#  else
/* Return the length of YYSTR.  */
static YYSIZE_T
#   if defined (__STDC__) || defined (__cplusplus)
yystrlen (const char *yystr)
#   else
yystrlen (yystr)
     const char *yystr;
#   endif
{
  register const char *yys = yystr;

  while (*yys++ != '\0')
    continue;

  return yys - yystr - 1;
}
#  endif
# endif

# ifndef yystpcpy
#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
#   define yystpcpy stpcpy
#  else
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
   YYDEST.  */
static char *
#   if defined (__STDC__) || defined (__cplusplus)
yystpcpy (char *yydest, const char *yysrc)
#   else
yystpcpy (yydest, yysrc)
     char *yydest;
     const char *yysrc;
#   endif
{
  register char *yyd = yydest;
  register const char *yys = yysrc;

  while ((*yyd++ = *yys++) != '\0')
    continue;

  return yyd - 1;
}
#  endif
# endif

#endif /* !YYERROR_VERBOSE */



#if YYDEBUG
/*--------------------------------.
| Print this symbol on YYOUTPUT.  |
`--------------------------------*/

#if defined (__STDC__) || defined (__cplusplus)
static void
yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
#else
static void
yysymprint (yyoutput, yytype, yyvaluep)
    FILE *yyoutput;
    int yytype;
    YYSTYPE *yyvaluep;
#endif
{
  /* Pacify ``unused variable'' warnings.  */
  (void) yyvaluep;

  if (yytype < YYNTOKENS)
    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
  else
    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);


# ifdef YYPRINT
  if (yytype < YYNTOKENS)
    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
# endif
  switch (yytype)
    {
      default:
        break;
    }
  YYFPRINTF (yyoutput, ")");
}

#endif /* ! YYDEBUG */
/*-----------------------------------------------.
| Release the memory associated to this symbol.  |
`-----------------------------------------------*/

#if defined (__STDC__) || defined (__cplusplus)
static void
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
#else
static void
yydestruct (yymsg, yytype, yyvaluep)
    const char *yymsg;
    int yytype;
    YYSTYPE *yyvaluep;
#endif
{
  /* Pacify ``unused variable'' warnings.  */
  (void) yyvaluep;

  if (!yymsg)
    yymsg = "Deleting";
  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);

  switch (yytype)
    {

      default:
        break;
    }
}


/* Prevent warnings from -Wmissing-prototypes.  */

#ifdef YYPARSE_PARAM
# if defined (__STDC__) || defined (__cplusplus)
int yyparse (void *YYPARSE_PARAM);
# else
int yyparse ();
# endif
#else /* ! YYPARSE_PARAM */
#if defined (__STDC__) || defined (__cplusplus)
int yyparse (void);
#else
int yyparse ();
#endif
#endif /* ! YYPARSE_PARAM */






/*----------.
| yyparse.  |
`----------*/

#ifdef YYPARSE_PARAM
# if defined (__STDC__) || defined (__cplusplus)
int yyparse (void *YYPARSE_PARAM)
# else
int yyparse (YYPARSE_PARAM)
  void *YYPARSE_PARAM;
# endif
#else /* ! YYPARSE_PARAM */
#if defined (__STDC__) || defined (__cplusplus)
int
yyparse (void)
#else
int
yyparse ()

#endif
#endif
{
  /* The look-ahead symbol.  */
int yychar;

/* The semantic value of the look-ahead symbol.  */
YYSTYPE yylval;

/* Number of syntax errors so far.  */
int yynerrs;

  register int yystate;
  register int yyn;
  int yyresult;
  /* Number of tokens to shift before error messages enabled.  */
  int yyerrstatus;
  /* Look-ahead token as an internal (translated) token number.  */
  int yytoken = 0;

  /* Three stacks and their tools:
     `yyss': related to states,
     `yyvs': related to semantic values,
     `yyls': related to locations.

     Refer to the stacks thru separate pointers, to allow yyoverflow
     to reallocate them elsewhere.  */

  /* The state stack.  */
  short int yyssa[YYINITDEPTH];
  short int *yyss = yyssa;
  register short int *yyssp;

  /* The semantic value stack.  */
  YYSTYPE yyvsa[YYINITDEPTH];
  YYSTYPE *yyvs = yyvsa;
  register YYSTYPE *yyvsp;



#define YYPOPSTACK   (yyvsp--, yyssp--)

  YYSIZE_T yystacksize = YYINITDEPTH;

  /* The variables used to return semantic value and location from the
     action routines.  */
  YYSTYPE yyval;


  /* When reducing, the number of symbols on the RHS of the reduced
     rule.  */
  int yylen;

  YYDPRINTF ((stderr, "Starting parse\n"));

  yystate = 0;
  yyerrstatus = 0;
  yynerrs = 0;
  yychar = YYEMPTY;		/* Cause a token to be read.  */

  /* Initialize stack pointers.
     Waste one element of value and location stack
     so that they stay on the same level as the state stack.
     The wasted elements are never initialized.  */

  yyssp = yyss;
  yyvsp = yyvs;


  yyvsp[0] = yylval;

  goto yysetstate;

/*------------------------------------------------------------.
| yynewstate -- Push a new state, which is found in yystate.  |
`------------------------------------------------------------*/
 yynewstate:
  /* In all cases, when you get here, the value and location stacks
     have just been pushed. so pushing a state here evens the stacks.
     */
  yyssp++;

 yysetstate:
  *yyssp = yystate;

  if (yyss + yystacksize - 1 <= yyssp)
    {
      /* Get the current used size of the three stacks, in elements.  */
      YYSIZE_T yysize = yyssp - yyss + 1;

#ifdef yyoverflow
      {
	/* Give user a chance to reallocate the stack. Use copies of
	   these so that the &'s don't force the real ones into
	   memory.  */
	YYSTYPE *yyvs1 = yyvs;
	short int *yyss1 = yyss;


	/* Each stack pointer address is followed by the size of the
	   data in use in that stack, in bytes.  This used to be a
	   conditional around just the two extra args, but that might
	   be undefined if yyoverflow is a macro.  */
	yyoverflow ("parser stack overflow",
		    &yyss1, yysize * sizeof (*yyssp),
		    &yyvs1, yysize * sizeof (*yyvsp),

		    &yystacksize);

	yyss = yyss1;
	yyvs = yyvs1;
      }
#else /* no yyoverflow */
# ifndef YYSTACK_RELOCATE
      goto yyoverflowlab;
# else
      /* Extend the stack our own way.  */
      if (YYMAXDEPTH <= yystacksize)
	goto yyoverflowlab;
      yystacksize *= 2;
      if (YYMAXDEPTH < yystacksize)
	yystacksize = YYMAXDEPTH;

      {
	short int *yyss1 = yyss;
	union yyalloc *yyptr =
	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
	if (! yyptr)
	  goto yyoverflowlab;
	YYSTACK_RELOCATE (yyss);
	YYSTACK_RELOCATE (yyvs);

#  undef YYSTACK_RELOCATE
	if (yyss1 != yyssa)
	  YYSTACK_FREE (yyss1);
      }
# endif
#endif /* no yyoverflow */

      yyssp = yyss + yysize - 1;
      yyvsp = yyvs + yysize - 1;


      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
		  (unsigned long int) yystacksize));

      if (yyss + yystacksize - 1 <= yyssp)
	YYABORT;
    }

  YYDPRINTF ((stderr, "Entering state %d\n", yystate));

  goto yybackup;

/*-----------.
| yybackup.  |
`-----------*/
yybackup:

/* Do appropriate processing given the current state.  */
/* Read a look-ahead token if we need one and don't already have one.  */
/* yyresume: */

  /* First try to decide what to do without reference to look-ahead token.  */

  yyn = yypact[yystate];
  if (yyn == YYPACT_NINF)
    goto yydefault;

  /* Not known => get a look-ahead token if don't already have one.  */

  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
  if (yychar == YYEMPTY)
    {
      YYDPRINTF ((stderr, "Reading a token: "));
      yychar = YYLEX;
    }

  if (yychar <= YYEOF)
    {
      yychar = yytoken = YYEOF;
      YYDPRINTF ((stderr, "Now at end of input.\n"));
    }
  else
    {
      yytoken = YYTRANSLATE (yychar);
      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
    }

  /* If the proper action on seeing token YYTOKEN is to reduce or to
     detect an error, take that action.  */
  yyn += yytoken;
  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
    goto yydefault;
  yyn = yytable[yyn];
  if (yyn <= 0)
    {
      if (yyn == 0 || yyn == YYTABLE_NINF)
	goto yyerrlab;
      yyn = -yyn;
      goto yyreduce;
    }

  if (yyn == YYFINAL)
    YYACCEPT;

  /* Shift the look-ahead token.  */
  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);

  /* Discard the token being shifted unless it is eof.  */
  if (yychar != YYEOF)
    yychar = YYEMPTY;

  *++yyvsp = yylval;


  /* Count tokens shifted since error; after three, turn off error
     status.  */
  if (yyerrstatus)
    yyerrstatus--;

  yystate = yyn;
  goto yynewstate;


/*-----------------------------------------------------------.
| yydefault -- do the default action for the current state.  |
`-----------------------------------------------------------*/
yydefault:
  yyn = yydefact[yystate];
  if (yyn == 0)
    goto yyerrlab;
  goto yyreduce;


/*-----------------------------.
| yyreduce -- Do a reduction.  |
`-----------------------------*/
yyreduce:
  /* yyn is the number of a rule to reduce with.  */
  yylen = yyr2[yyn];

  /* If YYLEN is nonzero, implement the default value of the action:
     `$$ = $1'.

     Otherwise, the following line sets YYVAL to garbage.
     This behavior is undocumented and Bison
     users should not rely upon it.  Assigning to YYVAL
     unconditionally makes the parser a bit smaller, and it avoids a
     GCC warning that YYVAL may be used uninitialized.  */
  yyval = yyvsp[1-yylen];


  YY_REDUCE_PRINT (yyn);
  switch (yyn)
    {
        case 2:
#line 747 "sql_yacc.yy"
    {
	   THD *thd= YYTHD;
	   if (!thd->bootstrap &&
	      (!(thd->lex->select_lex.options & OPTION_FOUND_COMMENT)))
	   {
	     send_error(thd,ER_EMPTY_QUERY);
	     YYABORT;
	   }
	   else
	   {
	     thd->lex->sql_command= SQLCOM_EMPTY_QUERY;
	   }
	}
    break;

  case 3:
#line 760 "sql_yacc.yy"
    {}
    break;

  case 49:
#line 812 "sql_yacc.yy"
    {
          THD *thd=YYTHD;
          LEX *lex= thd->lex;
          if (thd->command == COM_PREPARE)
          {
            yyerror(ER(ER_SYNTAX_ERROR));
            YYABORT;
          }
          lex->sql_command= SQLCOM_DEALLOCATE_PREPARE;
          lex->prepared_stmt_name= (yyvsp[0].lex_str);
        }
    break;

  case 52:
#line 832 "sql_yacc.yy"
    {
          THD *thd=YYTHD;
          LEX *lex= thd->lex;
          if (thd->command == COM_PREPARE)
          {
            yyerror(ER(ER_SYNTAX_ERROR));
            YYABORT;
          }
          lex->sql_command= SQLCOM_PREPARE;
          lex->prepared_stmt_name= (yyvsp[-2].lex_str);
        }
    break;

  case 53:
#line 846 "sql_yacc.yy"
    {
          THD *thd=YYTHD;
          LEX *lex= thd->lex;
          lex->prepared_stmt_code= (yyvsp[0].lex_str);
          lex->prepared_stmt_code_is_varref= FALSE;
        }
    break;

  case 54:
#line 853 "sql_yacc.yy"
    {
          THD *thd=YYTHD;
          LEX *lex= thd->lex;
          lex->prepared_stmt_code= (yyvsp[0].lex_str);
          lex->prepared_stmt_code_is_varref= TRUE;
        }
    break;

  case 55:
#line 862 "sql_yacc.yy"
    {
          THD *thd=YYTHD;
          LEX *lex= thd->lex;
          if (thd->command == COM_PREPARE)
          {
            yyerror(ER(ER_SYNTAX_ERROR));
            YYABORT;
          }
          lex->sql_command= SQLCOM_EXECUTE;
          lex->prepared_stmt_name= (yyvsp[0].lex_str);
        }
    break;

  case 56:
#line 874 "sql_yacc.yy"
    {}
    break;

  case 61:
#line 888 "sql_yacc.yy"
    {
          LEX *lex=Lex;
          LEX_STRING *lexstr= (LEX_STRING*)sql_memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING));
          if (!lexstr || lex->prepared_stmt_params.push_back(lexstr))
              YYABORT;
        }
    break;

  case 62:
#line 900 "sql_yacc.yy"
    {
	  LEX *lex= Lex;
	  lex->sql_command= SQLCOM_HELP;
	  lex->help_arg= (yyvsp[0].lex_str).str;
       }
    break;

  case 63:
#line 910 "sql_yacc.yy"
    {
	  LEX *lex = Lex;
	  lex->sql_command = SQLCOM_CHANGE_MASTER;
	  bzero((char*) &lex->mi, sizeof(lex->mi));
        }
    break;

  case 64:
#line 916 "sql_yacc.yy"
    {}
    break;

  case 67:
#line 925 "sql_yacc.yy"
    {
	 Lex->mi.host = (yyvsp[0].lex_str).str;
       }
    break;

  case 68:
#line 930 "sql_yacc.yy"
    {
	 Lex->mi.user = (yyvsp[0].lex_str).str;
       }
    break;

  case 69:
#line 935 "sql_yacc.yy"
    {
	 Lex->mi.password = (yyvsp[0].lex_str).str;
       }
    break;

  case 70:
#line 940 "sql_yacc.yy"
    {
	 Lex->mi.port = (yyvsp[0].ulong_num);
       }
    break;

  case 71:
#line 945 "sql_yacc.yy"
    {
	 Lex->mi.connect_retry = (yyvsp[0].ulong_num);
       }
    break;

  case 72:
#line 949 "sql_yacc.yy"
    {
           Lex->mi.ssl= (yyvsp[0].ulong_num) ? 
               LEX_MASTER_INFO::SSL_ENABLE : LEX_MASTER_INFO::SSL_DISABLE;
         }
    break;

  case 73:
#line 954 "sql_yacc.yy"
    {
           Lex->mi.ssl_ca= (yyvsp[0].lex_str).str;
         }
    break;

  case 74:
#line 958 "sql_yacc.yy"
    {
           Lex->mi.ssl_capath= (yyvsp[0].lex_str).str;
         }
    break;

  case 75:
#line 962 "sql_yacc.yy"
    {
           Lex->mi.ssl_cert= (yyvsp[0].lex_str).str;
         }
    break;

  case 76:
#line 966 "sql_yacc.yy"
    {
           Lex->mi.ssl_cipher= (yyvsp[0].lex_str).str;
         }
    break;

  case 77:
#line 970 "sql_yacc.yy"
    {
           Lex->mi.ssl_key= (yyvsp[0].lex_str).str;
	 }
    break;

  case 79:
#line 979 "sql_yacc.yy"
    {
	 Lex->mi.log_file_name = (yyvsp[0].lex_str).str;
       }
    break;

  case 80:
#line 983 "sql_yacc.yy"
    {
           Lex->mi.pos = (yyvsp[0].ulonglong_number);
           /* 
              If the user specified a value < BIN_LOG_HEADER_SIZE, adjust it
              instead of causing subsequent errors. 
              We need to do it in this file, because only there we know that 
              MASTER_LOG_POS has been explicitely specified. On the contrary
              in change_master() (sql_repl.cc) we cannot distinguish between 0
              (MASTER_LOG_POS explicitely specified as 0) and 0 (unspecified),
              whereas we want to distinguish (specified 0 means "read the binlog
              from 0" (4 in fact), unspecified means "don't change the position
              (keep the preceding value)").
           */
           Lex->mi.pos = max(BIN_LOG_HEADER_SIZE, Lex->mi.pos);
         }
    break;

  case 81:
#line 999 "sql_yacc.yy"
    {
           Lex->mi.relay_log_name = (yyvsp[0].lex_str).str;
         }
    break;

  case 82:
#line 1003 "sql_yacc.yy"
    {
           Lex->mi.relay_log_pos = (yyvsp[0].ulong_num);
           /* Adjust if < BIN_LOG_HEADER_SIZE (same comment as Lex->mi.pos) */
           Lex->mi.relay_log_pos = max(BIN_LOG_HEADER_SIZE, Lex->mi.relay_log_pos);
         }
    break;

  case 83:
#line 1014 "sql_yacc.yy"
    {
	  THD *thd= YYTHD;
	  LEX *lex=Lex;
	  lex->sql_command= SQLCOM_CREATE_TABLE;
	  if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL,
						 TL_OPTION_UPDATING,
						 (using_update_log ?
						  TL_READ_NO_INSERT:
						  TL_READ)))
	    YYABORT;
	  lex->create_list.empty();
	  lex->key_list.empty();
	  lex->col_list.empty();
	  lex->change=NullS;
	  bzero((char*) &lex->create_info,sizeof(lex->create_info));
	  lex->create_info.options=(yyvsp[-3].num) | (yyvsp[-1].num);
	  lex->create_info.db_type= (enum db_type) lex->thd->variables.table_type;
	  lex->create_info.default_table_charset= NULL;
	  lex->name=0;
	}
    break;

  case 84:
#line 1035 "sql_yacc.yy"
    { Lex->current_select= &Lex->select_lex; }
    break;

  case 85:
#line 1037 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->sql_command= SQLCOM_CREATE_INDEX;
	    if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[0].table), NULL,
							TL_OPTION_UPDATING))
	      YYABORT;
	    lex->create_list.empty();
	    lex->key_list.empty();
	    lex->col_list.empty();
	    lex->change=NullS;
	  }
    break;

  case 86:
#line 1049 "sql_yacc.yy"
    {
	    LEX *lex=Lex;

	    lex->key_list.push_back(new Key((yyvsp[-9].key_type),(yyvsp[-7].lex_str).str, (yyvsp[-6].key_alg), 0, lex->col_list));
	    lex->col_list.empty();
	  }
    break;

  case 87:
#line 1056 "sql_yacc.yy"
    {
             Lex->create_info.default_table_charset= NULL;
             Lex->create_info.used_fields= 0;
          }
    break;

  case 88:
#line 1061 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->sql_command=SQLCOM_CREATE_DB;
	    lex->name=(yyvsp[-2].lex_str).str;
            lex->create_info.options=(yyvsp[-3].num);
	  }
    break;

  case 89:
#line 1068 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->sql_command = SQLCOM_CREATE_FUNCTION;
	    lex->udf.name = (yyvsp[0].lex_str);
	    lex->udf.type= (yyvsp[-2].udf_type);
	  }
    break;

  case 90:
#line 1075 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->udf.returns=(Item_result) (yyvsp[-2].num);
	    lex->udf.dl=(yyvsp[0].lex_str).str;
	  }
    break;

  case 91:
#line 1083 "sql_yacc.yy"
    {}
    break;

  case 92:
#line 1084 "sql_yacc.yy"
    {}
    break;

  case 93:
#line 1086 "sql_yacc.yy"
    {
            LEX *lex=Lex;
            if (!(lex->name= (char *)(yyvsp[0].table)))
              YYABORT;
          }
    break;

  case 94:
#line 1092 "sql_yacc.yy"
    {
            LEX *lex=Lex;
            if (!(lex->name= (char *)(yyvsp[-1].table)))
              YYABORT;
          }
    break;

  case 95:
#line 1100 "sql_yacc.yy"
    {}
    break;

  case 96:
#line 1101 "sql_yacc.yy"
    { Select->set_braces(1);}
    break;

  case 97:
#line 1101 "sql_yacc.yy"
    {}
    break;

  case 98:
#line 1105 "sql_yacc.yy"
    {}
    break;

  case 99:
#line 1107 "sql_yacc.yy"
    { Select->set_braces(0);}
    break;

  case 100:
#line 1107 "sql_yacc.yy"
    {}
    break;

  case 101:
#line 1109 "sql_yacc.yy"
    { Select->set_braces(1);}
    break;

  case 102:
#line 1109 "sql_yacc.yy"
    {}
    break;

  case 103:
#line 1114 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->lock_option= using_update_log ? TL_READ_NO_INSERT : TL_READ;
	    if (lex->sql_command == SQLCOM_INSERT)
	      lex->sql_command= SQLCOM_INSERT_SELECT;
	    else if (lex->sql_command == SQLCOM_REPLACE)
	      lex->sql_command= SQLCOM_REPLACE_SELECT;
	    lex->current_select->table_list.save_and_clear(&lex->save_list);
	    mysql_init_select(lex);
	    lex->current_select->parsing_place= SELECT_LIST;
          }
    break;

  case 104:
#line 1126 "sql_yacc.yy"
    {
	    Select->parsing_place= NO_MATTER;
	  }
    break;

  case 105:
#line 1130 "sql_yacc.yy"
    { Lex->current_select->table_list.push_front(&Lex->save_list); }
    break;

  case 106:
#line 1134 "sql_yacc.yy"
    {}
    break;

  case 107:
#line 1135 "sql_yacc.yy"
    {}
    break;

  case 108:
#line 1138 "sql_yacc.yy"
    {}
    break;

  case 109:
#line 1139 "sql_yacc.yy"
    {}
    break;

  case 110:
#line 1142 "sql_yacc.yy"
    {}
    break;

  case 111:
#line 1143 "sql_yacc.yy"
    {}
    break;

  case 112:
#line 1146 "sql_yacc.yy"
    {}
    break;

  case 113:
#line 1147 "sql_yacc.yy"
    {}
    break;

  case 114:
#line 1150 "sql_yacc.yy"
    { (yyval.num)= 0; }
    break;

  case 115:
#line 1151 "sql_yacc.yy"
    { (yyval.num)= (yyvsp[0].num);}
    break;

  case 116:
#line 1154 "sql_yacc.yy"
    { (yyval.num)=(yyvsp[0].num); }
    break;

  case 117:
#line 1155 "sql_yacc.yy"
    { (yyval.num)= (yyvsp[-1].num) | (yyvsp[0].num); }
    break;

  case 118:
#line 1158 "sql_yacc.yy"
    { (yyval.num)=HA_LEX_CREATE_TMP_TABLE; }
    break;

  case 119:
#line 1161 "sql_yacc.yy"
    { (yyval.num)= 0; }
    break;

  case 120:
#line 1162 "sql_yacc.yy"
    { (yyval.num)=HA_LEX_CREATE_IF_NOT_EXISTS; }
    break;

  case 128:
#line 1178 "sql_yacc.yy"
    { Lex->create_info.db_type= (yyvsp[0].db_type); }
    break;

  case 129:
#line 1179 "sql_yacc.yy"
    { Lex->create_info.db_type= (yyvsp[0].db_type); WARN_DEPRECATED("TYPE=storage_engine","ENGINE=storage_engine"); }
    break;

  case 130:
#line 1180 "sql_yacc.yy"
    { Lex->create_info.max_rows= (yyvsp[0].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_MAX_ROWS;}
    break;

  case 131:
#line 1181 "sql_yacc.yy"
    { Lex->create_info.min_rows= (yyvsp[0].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_MIN_ROWS;}
    break;

  case 132:
#line 1182 "sql_yacc.yy"
    { Lex->create_info.avg_row_length=(yyvsp[0].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_AVG_ROW_LENGTH;}
    break;

  case 133:
#line 1183 "sql_yacc.yy"
    { Lex->create_info.password=(yyvsp[0].lex_str).str; }
    break;

  case 134:
#line 1184 "sql_yacc.yy"
    { Lex->create_info.comment=(yyvsp[0].lex_str).str; }
    break;

  case 135:
#line 1185 "sql_yacc.yy"
    { Lex->create_info.auto_increment_value=(yyvsp[0].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_AUTO;}
    break;

  case 136:
#line 1186 "sql_yacc.yy"
    { Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_PACK_KEYS : HA_OPTION_NO_PACK_KEYS; Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS;}
    break;

  case 137:
#line 1187 "sql_yacc.yy"
    { Lex->create_info.table_options&= ~(HA_OPTION_PACK_KEYS | HA_OPTION_NO_PACK_KEYS); Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS;}
    break;

  case 138:
#line 1188 "sql_yacc.yy"
    { Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM; }
    break;

  case 139:
#line 1189 "sql_yacc.yy"
    { Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_DELAY_KEY_WRITE : HA_OPTION_NO_DELAY_KEY_WRITE; }
    break;

  case 140:
#line 1190 "sql_yacc.yy"
    { Lex->create_info.row_type= (yyvsp[0].row_type); }
    break;

  case 141:
#line 1191 "sql_yacc.yy"
    { Lex->create_info.raid_type= (yyvsp[0].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_RAID;}
    break;

  case 142:
#line 1192 "sql_yacc.yy"
    { Lex->create_info.raid_chunks= (yyvsp[0].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_RAID;}
    break;

  case 143:
#line 1193 "sql_yacc.yy"
    { Lex->create_info.raid_chunksize= (yyvsp[0].ulong_num)*RAID_BLOCK_SIZE; Lex->create_info.used_fields|= HA_CREATE_USED_RAID;}
    break;

  case 144:
#line 1195 "sql_yacc.yy"
    {
	    /* Move the union list to the merge_list */
	    LEX *lex=Lex;
	    TABLE_LIST *table_list= lex->select_lex.get_table_list();
	    lex->create_info.merge_list= lex->select_lex.table_list;
	    lex->create_info.merge_list.elements--;
	    lex->create_info.merge_list.first= (byte*) (table_list->next);
	    lex->select_lex.table_list.elements=1;
	    lex->select_lex.table_list.next= (byte**) &(table_list->next);
	    table_list->next=0;
	    lex->create_info.used_fields|= HA_CREATE_USED_UNION;
	  }
    break;

  case 147:
#line 1209 "sql_yacc.yy"
    { Lex->create_info.merge_insert_method= (yyvsp[0].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_INSERT_METHOD;}
    break;

  case 148:
#line 1211 "sql_yacc.yy"
    { Lex->create_info.data_file_name= (yyvsp[0].lex_str).str; }
    break;

  case 149:
#line 1212 "sql_yacc.yy"
    { Lex->create_info.index_file_name= (yyvsp[0].lex_str).str; }
    break;

  case 150:
#line 1216 "sql_yacc.yy"
    {
          HA_CREATE_INFO *cinfo= &Lex->create_info;
          if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) &&
               cinfo->default_table_charset && (yyvsp[0].charset) &&
               !my_charset_same(cinfo->default_table_charset,(yyvsp[0].charset)))
          {
            net_printf(YYTHD, ER_CONFLICTING_DECLARATIONS,
                       "CHARACTER SET ", cinfo->default_table_charset->csname,
                       "CHARACTER SET ", (yyvsp[0].charset)->csname);
            YYABORT;
          }
	  Lex->create_info.default_table_charset= (yyvsp[0].charset);
          Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
        }
    break;

  case 151:
#line 1233 "sql_yacc.yy"
    {
          HA_CREATE_INFO *cinfo= &Lex->create_info;
          if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) &&
               cinfo->default_table_charset && (yyvsp[0].charset) &&
               !my_charset_same(cinfo->default_table_charset,(yyvsp[0].charset)))
            {
              net_printf(YYTHD,ER_COLLATION_CHARSET_MISMATCH,
                         (yyvsp[0].charset)->name, cinfo->default_table_charset->csname);
              YYABORT;
            }
            Lex->create_info.default_table_charset= (yyvsp[0].charset);
            Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
        }
    break;

  case 152:
#line 1249 "sql_yacc.yy"
    {
	  (yyval.db_type) = ha_resolve_by_name((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length);
	  if ((yyval.db_type) == DB_TYPE_UNKNOWN) {
	    net_printf(YYTHD, ER_UNKNOWN_STORAGE_ENGINE, (yyvsp[0].lex_str).str);
	    YYABORT;
	  }
	}
    break;

  case 153:
#line 1258 "sql_yacc.yy"
    { (yyval.row_type)= ROW_TYPE_DEFAULT; }
    break;

  case 154:
#line 1259 "sql_yacc.yy"
    { (yyval.row_type)= ROW_TYPE_FIXED; }
    break;

  case 155:
#line 1260 "sql_yacc.yy"
    { (yyval.row_type)= ROW_TYPE_DYNAMIC; }
    break;

  case 156:
#line 1261 "sql_yacc.yy"
    { (yyval.row_type)= ROW_TYPE_COMPRESSED; }
    break;

  case 157:
#line 1264 "sql_yacc.yy"
    { (yyval.ulong_num)= RAID_TYPE_0; }
    break;

  case 158:
#line 1265 "sql_yacc.yy"
    { (yyval.ulong_num)= RAID_TYPE_0; }
    break;

  case 159:
#line 1266 "sql_yacc.yy"
    { (yyval.ulong_num)=(yyvsp[0].ulong_num);}
    break;

  case 160:
#line 1269 "sql_yacc.yy"
    { (yyval.ulong_num)= MERGE_INSERT_DISABLED; }
    break;

  case 161:
#line 1270 "sql_yacc.yy"
    { (yyval.ulong_num)= MERGE_INSERT_TO_FIRST; }
    break;

  case 162:
#line 1271 "sql_yacc.yy"
    { (yyval.ulong_num)= MERGE_INSERT_TO_LAST; }
    break;

  case 163:
#line 1274 "sql_yacc.yy"
    {}
    break;

  case 165:
#line 1278 "sql_yacc.yy"
    { (yyval.udf_type) = UDFTYPE_FUNCTION; }
    break;

  case 166:
#line 1279 "sql_yacc.yy"
    { (yyval.udf_type) = UDFTYPE_AGGREGATE; }
    break;

  case 167:
#line 1282 "sql_yacc.yy"
    {(yyval.num) = (int) STRING_RESULT; }
    break;

  case 168:
#line 1283 "sql_yacc.yy"
    {(yyval.num) = (int) REAL_RESULT; }
    break;

  case 169:
#line 1284 "sql_yacc.yy"
    {(yyval.num) = (int) INT_RESULT; }
    break;

  case 175:
#line 1299 "sql_yacc.yy"
    {
	    Lex->col_list.empty();		/* Alloced by sql_alloc */
	  }
    break;

  case 176:
#line 1306 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->key_list.push_back(new Key((yyvsp[-5].key_type),(yyvsp[-4].simple_string), (yyvsp[-3].key_alg), 0, lex->col_list));
	    lex->col_list.empty();		/* Alloced by sql_alloc */
	  }
    break;

  case 177:
#line 1312 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    const char *key_name= (yyvsp[-4].simple_string) ? (yyvsp[-4].simple_string):(yyvsp[-6].simple_string);
	    lex->key_list.push_back(new Key((yyvsp[-5].key_type), key_name, (yyvsp[-3].key_alg), 0,
				    lex->col_list));
	    lex->col_list.empty();		/* Alloced by sql_alloc */
	  }
    break;

  case 178:
#line 1320 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->key_list.push_back(new foreign_key((yyvsp[-4].simple_string) ? (yyvsp[-4].simple_string):(yyvsp[-7].simple_string), lex->col_list,
				    (yyvsp[0].table),
				    lex->ref_list,
				    lex->fk_delete_opt,
				    lex->fk_update_opt,
				    lex->fk_match_option));
	    lex->key_list.push_back(new Key(Key::MULTIPLE, (yyvsp[-4].simple_string) ? (yyvsp[-4].simple_string) : (yyvsp[-7].simple_string),
					    HA_KEY_ALG_UNDEF, 1,
					    lex->col_list));
	    lex->col_list.empty();		/* Alloced by sql_alloc */
	  }
    break;

  case 179:
#line 1334 "sql_yacc.yy"
    {
	    Lex->col_list.empty();		/* Alloced by sql_alloc */
	  }
    break;

  case 180:
#line 1338 "sql_yacc.yy"
    {
	    Lex->col_list.empty();		/* Alloced by sql_alloc */
	  }
    break;

  case 184:
#line 1353 "sql_yacc.yy"
    { (yyval.simple_string)=(char*) 0; }
    break;

  case 185:
#line 1354 "sql_yacc.yy"
    { (yyval.simple_string)= (yyvsp[0].simple_string); }
    break;

  case 186:
#line 1358 "sql_yacc.yy"
    { (yyval.simple_string)=(yyvsp[0].simple_string); }
    break;

  case 187:
#line 1363 "sql_yacc.yy"
    {
	   LEX *lex=Lex;
	   lex->length=lex->dec=0; lex->type=0;
	   lex->default_value= lex->on_update_value= 0;
	   lex->comment=0;
	   lex->charset=NULL;
	 }
    break;

  case 188:
#line 1371 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  if (add_field_to_list(lex->thd, (yyvsp[-3].lex_str).str,
				(enum enum_field_types) (yyvsp[-1].num),
				lex->length,lex->dec,lex->type,
				lex->default_value, lex->on_update_value, 
                                lex->comment,
				lex->change,&lex->interval_list,lex->charset,
				lex->uint_geom_type))
	    YYABORT;
	}
    break;

  case 189:
#line 1384 "sql_yacc.yy"
    { (yyval.num)=(yyvsp[-2].num); }
    break;

  case 190:
#line 1385 "sql_yacc.yy"
    { (yyval.num)=(yyvsp[-2].num); }
    break;

  case 191:
#line 1386 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_FLOAT; }
    break;

  case 192:
#line 1387 "sql_yacc.yy"
    { Lex->length=(char*) "1";
					  (yyval.num)=FIELD_TYPE_TINY; }
    break;

  case 193:
#line 1389 "sql_yacc.yy"
    { Lex->length=(char*) "1";
					  (yyval.num)=FIELD_TYPE_TINY; }
    break;

  case 194:
#line 1391 "sql_yacc.yy"
    { Lex->length=(char*) "1";
					  (yyval.num)=FIELD_TYPE_TINY; }
    break;

  case 195:
#line 1393 "sql_yacc.yy"
    { Lex->length=(yyvsp[-2].lex_str).str;
					  (yyval.num)=FIELD_TYPE_STRING; }
    break;

  case 196:
#line 1395 "sql_yacc.yy"
    { Lex->length=(char*) "1";
					  (yyval.num)=FIELD_TYPE_STRING; }
    break;

  case 197:
#line 1397 "sql_yacc.yy"
    { Lex->length=(yyvsp[-1].lex_str).str;
					  (yyval.num)=FIELD_TYPE_STRING;
					  Lex->charset=national_charset_info; }
    break;

  case 198:
#line 1400 "sql_yacc.yy"
    { Lex->length=(char*) "1";
					  (yyval.num)=FIELD_TYPE_STRING;
					  Lex->charset=national_charset_info; }
    break;

  case 199:
#line 1403 "sql_yacc.yy"
    { Lex->length=(yyvsp[-1].lex_str).str;
					  Lex->charset=&my_charset_bin;
					  (yyval.num)=FIELD_TYPE_STRING; }
    break;

  case 200:
#line 1406 "sql_yacc.yy"
    { Lex->length= (char*) "1";
					  Lex->charset=&my_charset_bin;
					  (yyval.num)=FIELD_TYPE_STRING; }
    break;

  case 201:
#line 1409 "sql_yacc.yy"
    { Lex->length=(yyvsp[-2].lex_str).str;
					  (yyval.num)=FIELD_TYPE_VAR_STRING; }
    break;

  case 202:
#line 1411 "sql_yacc.yy"
    { Lex->length=(yyvsp[-1].lex_str).str;
					  (yyval.num)=FIELD_TYPE_VAR_STRING;
					  Lex->charset=national_charset_info; }
    break;

  case 203:
#line 1414 "sql_yacc.yy"
    { Lex->length=(yyvsp[-1].lex_str).str;
					  Lex->charset=&my_charset_bin;
					  (yyval.num)=FIELD_TYPE_VAR_STRING; }
    break;

  case 204:
#line 1417 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_YEAR; }
    break;

  case 205:
#line 1418 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_DATE; }
    break;

  case 206:
#line 1419 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_TIME; }
    break;

  case 207:
#line 1421 "sql_yacc.yy"
    {
	    if (YYTHD->variables.sql_mode & MODE_MAXDB)
	      (yyval.num)=FIELD_TYPE_DATETIME;
	    else
            {
              /* 
                Unlike other types TIMESTAMP fields are NOT NULL by default.
              */
              Lex->type|= NOT_NULL_FLAG;
	      (yyval.num)=FIELD_TYPE_TIMESTAMP;
            }
	   }
    break;

  case 208:
#line 1433 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_DATETIME; }
    break;

  case 209:
#line 1434 "sql_yacc.yy"
    { Lex->charset=&my_charset_bin;
					  (yyval.num)=FIELD_TYPE_TINY_BLOB; }
    break;

  case 210:
#line 1436 "sql_yacc.yy"
    { Lex->charset=&my_charset_bin;
					  (yyval.num)=FIELD_TYPE_BLOB; }
    break;

  case 211:
#line 1438 "sql_yacc.yy"
    { 
#ifdef HAVE_SPATIAL
					  Lex->charset=&my_charset_bin;
					  Lex->uint_geom_type= (uint)(yyvsp[0].num);
					  (yyval.num)=FIELD_TYPE_GEOMETRY;
#else
	                                  net_printf(Lex->thd, ER_FEATURE_DISABLED,
			                             sym_group_geom.name,
	                                             sym_group_geom.needed_define);
					  YYABORT;
#endif
					}
    break;

  case 212:
#line 1450 "sql_yacc.yy"
    { Lex->charset=&my_charset_bin;
					  (yyval.num)=FIELD_TYPE_MEDIUM_BLOB; }
    break;

  case 213:
#line 1452 "sql_yacc.yy"
    { Lex->charset=&my_charset_bin;
					  (yyval.num)=FIELD_TYPE_LONG_BLOB; }
    break;

  case 214:
#line 1454 "sql_yacc.yy"
    { Lex->charset=&my_charset_bin;
					  (yyval.num)=FIELD_TYPE_MEDIUM_BLOB; }
    break;

  case 215:
#line 1456 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_MEDIUM_BLOB; }
    break;

  case 216:
#line 1457 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_TINY_BLOB; }
    break;

  case 217:
#line 1458 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_BLOB; }
    break;

  case 218:
#line 1459 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_MEDIUM_BLOB; }
    break;

  case 219:
#line 1460 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_LONG_BLOB; }
    break;

  case 220:
#line 1462 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_DECIMAL;}
    break;

  case 221:
#line 1464 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_DECIMAL;}
    break;

  case 222:
#line 1466 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_DECIMAL;}
    break;

  case 223:
#line 1467 "sql_yacc.yy"
    {Lex->interval_list.empty();}
    break;

  case 224:
#line 1468 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_ENUM; }
    break;

  case 225:
#line 1469 "sql_yacc.yy"
    { Lex->interval_list.empty();}
    break;

  case 226:
#line 1470 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_SET; }
    break;

  case 227:
#line 1471 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_MEDIUM_BLOB; }
    break;

  case 228:
#line 1473 "sql_yacc.yy"
    {
	    (yyval.num)=FIELD_TYPE_LONGLONG;
	    Lex->type|= (AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNSIGNED_FLAG |
		         UNIQUE_FLAG);
	  }
    break;

  case 229:
#line 1481 "sql_yacc.yy"
    { (yyval.num)= Field::GEOM_GEOMETRY; }
    break;

  case 230:
#line 1482 "sql_yacc.yy"
    { (yyval.num)= Field::GEOM_GEOMETRYCOLLECTION; }
    break;

  case 231:
#line 1483 "sql_yacc.yy"
    { (yyval.num)= Field::GEOM_POINT; }
    break;

  case 232:
#line 1484 "sql_yacc.yy"
    { (yyval.num)= Field::GEOM_MULTIPOINT; }
    break;

  case 233:
#line 1485 "sql_yacc.yy"
    { (yyval.num)= Field::GEOM_LINESTRING; }
    break;

  case 234:
#line 1486 "sql_yacc.yy"
    { (yyval.num)= Field::GEOM_MULTILINESTRING; }
    break;

  case 235:
#line 1487 "sql_yacc.yy"
    { (yyval.num)= Field::GEOM_POLYGON; }
    break;

  case 236:
#line 1488 "sql_yacc.yy"
    { (yyval.num)= Field::GEOM_MULTIPOLYGON; }
    break;

  case 237:
#line 1492 "sql_yacc.yy"
    {}
    break;

  case 238:
#line 1496 "sql_yacc.yy"
    {}
    break;

  case 239:
#line 1497 "sql_yacc.yy"
    {}
    break;

  case 240:
#line 1501 "sql_yacc.yy"
    {}
    break;

  case 241:
#line 1502 "sql_yacc.yy"
    {}
    break;

  case 242:
#line 1506 "sql_yacc.yy"
    {}
    break;

  case 243:
#line 1507 "sql_yacc.yy"
    {}
    break;

  case 244:
#line 1508 "sql_yacc.yy"
    {}
    break;

  case 245:
#line 1509 "sql_yacc.yy"
    {}
    break;

  case 246:
#line 1510 "sql_yacc.yy"
    {}
    break;

  case 247:
#line 1514 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_LONG; }
    break;

  case 248:
#line 1515 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_TINY; }
    break;

  case 249:
#line 1516 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_SHORT; }
    break;

  case 250:
#line 1517 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_INT24; }
    break;

  case 251:
#line 1518 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_LONGLONG; }
    break;

  case 252:
#line 1521 "sql_yacc.yy"
    { (yyval.num)= YYTHD->variables.sql_mode & MODE_REAL_AS_FLOAT ?
			      FIELD_TYPE_FLOAT : FIELD_TYPE_DOUBLE; }
    break;

  case 253:
#line 1523 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_DOUBLE; }
    break;

  case 254:
#line 1524 "sql_yacc.yy"
    { (yyval.num)=FIELD_TYPE_DOUBLE; }
    break;

  case 255:
#line 1528 "sql_yacc.yy"
    {}
    break;

  case 256:
#line 1529 "sql_yacc.yy"
    { Lex->length=(yyvsp[-1].lex_str).str; }
    break;

  case 257:
#line 1530 "sql_yacc.yy"
    {}
    break;

  case 258:
#line 1534 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->length=(yyvsp[-3].lex_str).str; lex->dec=(yyvsp[-1].lex_str).str;
	}
    break;

  case 259:
#line 1540 "sql_yacc.yy"
    {}
    break;

  case 260:
#line 1541 "sql_yacc.yy"
    {}
    break;

  case 261:
#line 1544 "sql_yacc.yy"
    {}
    break;

  case 262:
#line 1545 "sql_yacc.yy"
    {}
    break;

  case 263:
#line 1548 "sql_yacc.yy"
    {}
    break;

  case 264:
#line 1549 "sql_yacc.yy"
    { Lex->type|= UNSIGNED_FLAG;}
    break;

  case 265:
#line 1550 "sql_yacc.yy"
    { Lex->type|= UNSIGNED_FLAG | ZEROFILL_FLAG; }
    break;

  case 266:
#line 1553 "sql_yacc.yy"
    { Lex->length=(char*) 0; }
    break;

  case 267:
#line 1554 "sql_yacc.yy"
    { Lex->length= (yyvsp[-1].lex_str).str; }
    break;

  case 268:
#line 1557 "sql_yacc.yy"
    {}
    break;

  case 269:
#line 1558 "sql_yacc.yy"
    {}
    break;

  case 270:
#line 1561 "sql_yacc.yy"
    {}
    break;

  case 271:
#line 1562 "sql_yacc.yy"
    {}
    break;

  case 272:
#line 1565 "sql_yacc.yy"
    {}
    break;

  case 274:
#line 1569 "sql_yacc.yy"
    { Lex->type&= ~ NOT_NULL_FLAG; }
    break;

  case 275:
#line 1570 "sql_yacc.yy"
    { Lex->type|= NOT_NULL_FLAG; }
    break;

  case 276:
#line 1571 "sql_yacc.yy"
    { Lex->default_value=(yyvsp[0].item); }
    break;

  case 277:
#line 1573 "sql_yacc.yy"
    { Lex->on_update_value= new Item_func_now_local(); }
    break;

  case 278:
#line 1574 "sql_yacc.yy"
    { Lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG; }
    break;

  case 279:
#line 1576 "sql_yacc.yy"
    { 
	    LEX *lex=Lex;
	    lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNIQUE_FLAG; 
	    lex->alter_info.flags|= ALTER_ADD_INDEX; 
	  }
    break;

  case 280:
#line 1582 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->type|= PRI_KEY_FLAG | NOT_NULL_FLAG; 
	    lex->alter_info.flags|= ALTER_ADD_INDEX; 
	  }
    break;

  case 281:
#line 1588 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->type|= UNIQUE_FLAG; 
	    lex->alter_info.flags|= ALTER_ADD_INDEX; 
	  }
    break;

  case 282:
#line 1594 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->type|= UNIQUE_KEY_FLAG; 
	    lex->alter_info.flags|= ALTER_ADD_INDEX; 
	  }
    break;

  case 283:
#line 1599 "sql_yacc.yy"
    { Lex->comment= &(yyvsp[0].lex_str); }
    break;

  case 284:
#line 1600 "sql_yacc.yy"
    { Lex->type|= BINCMP_FLAG; }
    break;

  case 285:
#line 1602 "sql_yacc.yy"
    {
	    if (Lex->charset && !my_charset_same(Lex->charset,(yyvsp[0].charset)))
	    {
	      net_printf(YYTHD,ER_COLLATION_CHARSET_MISMATCH,
			 (yyvsp[0].charset)->name,Lex->charset->csname);
	      YYABORT;
	    }
	    else
	    {
	      Lex->charset=(yyvsp[0].charset);
	    }
	  }
    break;

  case 286:
#line 1617 "sql_yacc.yy"
    { (yyval.item)= new Item_func_now_local(); }
    break;

  case 287:
#line 1618 "sql_yacc.yy"
    { (yyval.item)=(yyvsp[0].item); }
    break;

  case 288:
#line 1622 "sql_yacc.yy"
    {}
    break;

  case 289:
#line 1623 "sql_yacc.yy"
    {}
    break;

  case 290:
#line 1628 "sql_yacc.yy"
    {
	  if (!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str,MY_CS_PRIMARY,MYF(0))))
	  {
	    net_printf(YYTHD,ER_UNKNOWN_CHARACTER_SET,(yyvsp[0].lex_str).str);
	    YYABORT;
	  }
	}
    break;

  case 291:
#line 1635 "sql_yacc.yy"
    { (yyval.charset)= &my_charset_bin; }
    break;

  case 292:
#line 1639 "sql_yacc.yy"
    { (yyval.charset)=(yyvsp[0].charset);   }
    break;

  case 293:
#line 1640 "sql_yacc.yy"
    { (yyval.charset)=NULL; }
    break;

  case 294:
#line 1645 "sql_yacc.yy"
    {
	  if (!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str,MY_CS_PRIMARY,MYF(0))) &&
	      !((yyval.charset)=get_old_charset_by_name((yyvsp[0].lex_str).str)))
	  {
	    net_printf(YYTHD,ER_UNKNOWN_CHARACTER_SET,(yyvsp[0].lex_str).str);
	    YYABORT;
	  }
	}
    break;

  case 295:
#line 1653 "sql_yacc.yy"
    { (yyval.charset)= &my_charset_bin; }
    break;

  case 296:
#line 1657 "sql_yacc.yy"
    { (yyval.charset)=(yyvsp[0].charset);   }
    break;

  case 297:
#line 1658 "sql_yacc.yy"
    { (yyval.charset)=NULL; }
    break;

  case 298:
#line 1662 "sql_yacc.yy"
    {
	  if (!((yyval.charset)=get_charset_by_name((yyvsp[0].lex_str).str,MYF(0))))
	  {
	    net_printf(YYTHD,ER_UNKNOWN_COLLATION,(yyvsp[0].lex_str).str);
	    YYABORT;
	  }
	}
    break;

  case 299:
#line 1671 "sql_yacc.yy"
    { (yyval.charset)=NULL; }
    break;

  case 300:
#line 1672 "sql_yacc.yy"
    { (yyval.charset)=(yyvsp[0].charset); }
    break;

  case 301:
#line 1676 "sql_yacc.yy"
    { (yyval.charset)=(yyvsp[0].charset);   }
    break;

  case 302:
#line 1677 "sql_yacc.yy"
    { (yyval.charset)=NULL; }
    break;

  case 303:
#line 1680 "sql_yacc.yy"
    {}
    break;

  case 304:
#line 1681 "sql_yacc.yy"
    {}
    break;

  case 305:
#line 1684 "sql_yacc.yy"
    { Lex->charset=NULL; }
    break;

  case 306:
#line 1685 "sql_yacc.yy"
    { Lex->charset=&my_charset_latin1; }
    break;

  case 307:
#line 1686 "sql_yacc.yy"
    { Lex->charset=&my_charset_bin; }
    break;

  case 308:
#line 1688 "sql_yacc.yy"
    {
	  if (!(Lex->charset=get_charset_by_csname("ucs2",MY_CS_PRIMARY,MYF(0))))
	  {
	    net_printf(YYTHD,ER_UNKNOWN_CHARACTER_SET,"ucs2");
	    YYABORT;
	  }
	}
    break;

  case 309:
#line 1695 "sql_yacc.yy"
    { Lex->charset=(yyvsp[0].charset); }
    break;

  case 312:
#line 1704 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->fk_delete_opt= lex->fk_update_opt= lex->fk_match_option= 0;
	  lex->ref_list.empty();
	}
    break;

  case 313:
#line 1710 "sql_yacc.yy"
    {
	  (yyval.table)=(yyvsp[-2].table);
	}
    break;

  case 314:
#line 1715 "sql_yacc.yy"
    {}
    break;

  case 315:
#line 1716 "sql_yacc.yy"
    {}
    break;

  case 316:
#line 1719 "sql_yacc.yy"
    { Lex->ref_list.push_back(new key_part_spec((yyvsp[0].lex_str).str)); }
    break;

  case 317:
#line 1720 "sql_yacc.yy"
    { Lex->ref_list.push_back(new key_part_spec((yyvsp[0].lex_str).str)); }
    break;

  case 318:
#line 1724 "sql_yacc.yy"
    {}
    break;

  case 319:
#line 1725 "sql_yacc.yy"
    {}
    break;

  case 320:
#line 1728 "sql_yacc.yy"
    {}
    break;

  case 321:
#line 1729 "sql_yacc.yy"
    {}
    break;

  case 322:
#line 1732 "sql_yacc.yy"
    { Lex->fk_delete_opt= (yyvsp[0].num); }
    break;

  case 323:
#line 1733 "sql_yacc.yy"
    { Lex->fk_update_opt= (yyvsp[0].num); }
    break;

  case 324:
#line 1734 "sql_yacc.yy"
    { Lex->fk_match_option= foreign_key::FK_MATCH_FULL; }
    break;

  case 325:
#line 1735 "sql_yacc.yy"
    { Lex->fk_match_option= foreign_key::FK_MATCH_PARTIAL; }
    break;

  case 326:
#line 1736 "sql_yacc.yy"
    { Lex->fk_match_option= foreign_key::FK_MATCH_SIMPLE; }
    break;

  case 327:
#line 1739 "sql_yacc.yy"
    { (yyval.num)= (int) foreign_key::FK_OPTION_RESTRICT; }
    break;

  case 328:
#line 1740 "sql_yacc.yy"
    { (yyval.num)= (int) foreign_key::FK_OPTION_CASCADE; }
    break;

  case 329:
#line 1741 "sql_yacc.yy"
    { (yyval.num)= (int) foreign_key::FK_OPTION_SET_NULL; }
    break;

  case 330:
#line 1742 "sql_yacc.yy"
    { (yyval.num)= (int) foreign_key::FK_OPTION_NO_ACTION; }
    break;

  case 331:
#line 1743 "sql_yacc.yy"
    { (yyval.num)= (int) foreign_key::FK_OPTION_DEFAULT;  }
    break;

  case 332:
#line 1746 "sql_yacc.yy"
    { (yyval.key_type)= Key::MULTIPLE; }
    break;

  case 333:
#line 1747 "sql_yacc.yy"
    { (yyval.key_type)= Key::FULLTEXT; }
    break;

  case 334:
#line 1749 "sql_yacc.yy"
    {
#ifdef HAVE_SPATIAL
	    (yyval.key_type)= Key::SPATIAL;
#else
	    net_printf(Lex->thd, ER_FEATURE_DISABLED,
		       sym_group_geom.name, sym_group_geom.needed_define);
	    YYABORT;
#endif
	  }
    break;

  case 335:
#line 1760 "sql_yacc.yy"
    { (yyval.key_type)= Key::PRIMARY; }
    break;

  case 336:
#line 1761 "sql_yacc.yy"
    { (yyval.key_type)= Key::UNIQUE; }
    break;

  case 337:
#line 1764 "sql_yacc.yy"
    {}
    break;

  case 338:
#line 1765 "sql_yacc.yy"
    {}
    break;

  case 339:
#line 1768 "sql_yacc.yy"
    {}
    break;

  case 341:
#line 1773 "sql_yacc.yy"
    {}
    break;

  case 342:
#line 1774 "sql_yacc.yy"
    {}
    break;

  case 343:
#line 1775 "sql_yacc.yy"
    {}
    break;

  case 344:
#line 1778 "sql_yacc.yy"
    { (yyval.key_type)= Key::MULTIPLE; }
    break;

  case 345:
#line 1779 "sql_yacc.yy"
    { (yyval.key_type)= Key::UNIQUE; }
    break;

  case 346:
#line 1780 "sql_yacc.yy"
    { (yyval.key_type)= Key::FULLTEXT;}
    break;

  case 347:
#line 1782 "sql_yacc.yy"
    {
#ifdef HAVE_SPATIAL
	    (yyval.key_type)= Key::SPATIAL;
#else
	    net_printf(Lex->thd, ER_FEATURE_DISABLED,
	               sym_group_geom.name, sym_group_geom.needed_define);
	    YYABORT;
#endif
	  }
    break;

  case 348:
#line 1794 "sql_yacc.yy"
    { (yyval.key_alg)= HA_KEY_ALG_UNDEF; }
    break;

  case 349:
#line 1795 "sql_yacc.yy"
    { (yyval.key_alg)= (yyvsp[0].key_alg); }
    break;

  case 350:
#line 1796 "sql_yacc.yy"
    { (yyval.key_alg)= (yyvsp[0].key_alg); }
    break;

  case 351:
#line 1799 "sql_yacc.yy"
    { (yyval.key_alg)= HA_KEY_ALG_BTREE; }
    break;

  case 352:
#line 1801 "sql_yacc.yy"
    {
	    (yyval.key_alg)= HA_KEY_ALG_RTREE;
	  }
    break;

  case 353:
#line 1804 "sql_yacc.yy"
    { (yyval.key_alg)= HA_KEY_ALG_HASH; }
    break;

  case 354:
#line 1807 "sql_yacc.yy"
    { Lex->col_list.push_back((yyvsp[-1].key_part)); }
    break;

  case 355:
#line 1808 "sql_yacc.yy"
    { Lex->col_list.push_back((yyvsp[-1].key_part)); }
    break;

  case 356:
#line 1811 "sql_yacc.yy"
    { (yyval.key_part)=new key_part_spec((yyvsp[0].lex_str).str); }
    break;

  case 357:
#line 1813 "sql_yacc.yy"
    {
          int key_part_len= atoi((yyvsp[-1].lex_str).str);
#if MYSQL_VERSION_ID < 50000
          if (!key_part_len)
          {
            my_printf_error(ER_UNKNOWN_ERROR,
                            "Key part '%s' length cannot be 0",
                            MYF(0), (yyvsp[-3].lex_str).str);
          }
#endif
          (yyval.key_part)=new key_part_spec((yyvsp[-3].lex_str).str,(uint) key_part_len);
        }
    break;

  case 358:
#line 1827 "sql_yacc.yy"
    { (yyval.simple_string)=(char*) 0; }
    break;

  case 359:
#line 1828 "sql_yacc.yy"
    { (yyval.simple_string)=(yyvsp[0].lex_str).str; }
    break;

  case 360:
#line 1831 "sql_yacc.yy"
    { (yyval.lex_str).str= 0; (yyval.lex_str).length= 0; }
    break;

  case 361:
#line 1832 "sql_yacc.yy"
    { (yyval.lex_str)=(yyvsp[0].lex_str); }
    break;

  case 362:
#line 1835 "sql_yacc.yy"
    { Lex->interval_list.push_back((yyvsp[0].string)); }
    break;

  case 363:
#line 1836 "sql_yacc.yy"
    { Lex->interval_list.push_back((yyvsp[0].string)); }
    break;

  case 364:
#line 1844 "sql_yacc.yy"
    {
	  THD *thd= YYTHD;
	  LEX *lex= thd->lex;
	  lex->sql_command= SQLCOM_ALTER_TABLE;
	  lex->name= 0;
	  lex->duplicates= DUP_ERROR; 
	  if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL,
						 TL_OPTION_UPDATING))
	    YYABORT;
	  lex->create_list.empty();
	  lex->key_list.empty();
	  lex->col_list.empty();
          lex->select_lex.init_order();
	  lex->select_lex.db=lex->name=0;
	  bzero((char*) &lex->create_info,sizeof(lex->create_info));
	  lex->create_info.db_type= DB_TYPE_DEFAULT;
	  lex->create_info.default_table_charset= NULL;
	  lex->create_info.row_type= ROW_TYPE_NOT_USED;
	  lex->alter_info.reset();          
	  lex->alter_info.is_simple= 1;
	  lex->alter_info.flags= 0;
	}
    break;

  case 365:
#line 1867 "sql_yacc.yy"
    {}
    break;

  case 366:
#line 1869 "sql_yacc.yy"
    {
            Lex->create_info.default_table_charset= NULL;
            Lex->create_info.used_fields= 0;
          }
    break;

  case 367:
#line 1874 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->sql_command=SQLCOM_ALTER_DB;
	    lex->name= (yyvsp[-2].simple_string);
	  }
    break;

  case 368:
#line 1882 "sql_yacc.yy"
    { (yyval.simple_string)= 0; }
    break;

  case 369:
#line 1883 "sql_yacc.yy"
    { (yyval.simple_string)= (yyvsp[0].lex_str).str; }
    break;

  case 371:
#line 1887 "sql_yacc.yy"
    { Lex->alter_info.tablespace_op= DISCARD_TABLESPACE; }
    break;

  case 372:
#line 1888 "sql_yacc.yy"
    { Lex->alter_info.tablespace_op= IMPORT_TABLESPACE; }
    break;

  case 375:
#line 1894 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->change=0; 
	  lex->alter_info.flags|= ALTER_ADD_COLUMN; 
	}
    break;

  case 376:
#line 1901 "sql_yacc.yy"
    { Lex->alter_info.is_simple= 0; }
    break;

  case 377:
#line 1903 "sql_yacc.yy"
    { 
	    LEX *lex=Lex;
	    lex->alter_info.is_simple= 0; 
	    lex->alter_info.flags|= ALTER_ADD_INDEX; 
	  }
    break;

  case 378:
#line 1908 "sql_yacc.yy"
    { Lex->alter_info.is_simple= 0; }
    break;

  case 379:
#line 1910 "sql_yacc.yy"
    {
	     LEX *lex=Lex;
	     lex->change= (yyvsp[0].lex_str).str; 
	     lex->alter_info.is_simple= 0;
	     lex->alter_info.flags|= ALTER_CHANGE_COLUMN;
	  }
    break;

  case 381:
#line 1918 "sql_yacc.yy"
    {
            LEX *lex=Lex;
            lex->length=lex->dec=0; lex->type=0;
            lex->default_value= lex->on_update_value= 0;
	    lex->comment=0;
	    lex->charset= NULL;
            lex->alter_info.is_simple= 0;
	    lex->alter_info.flags|= ALTER_CHANGE_COLUMN;
          }
    break;

  case 382:
#line 1928 "sql_yacc.yy"
    {
            LEX *lex=Lex;
            if (add_field_to_list(lex->thd,(yyvsp[-3].lex_str).str,
                                  (enum enum_field_types) (yyvsp[-1].num),
                                  lex->length,lex->dec,lex->type,
                                  lex->default_value, lex->on_update_value,
                                  lex->comment,
				  (yyvsp[-3].lex_str).str, &lex->interval_list, lex->charset,
				  lex->uint_geom_type))
	       YYABORT;
          }
    break;

  case 384:
#line 1941 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->alter_info.drop_list.push_back(new Alter_drop(Alter_drop::COLUMN,
	    			                               (yyvsp[-1].lex_str).str)); 
	    lex->alter_info.is_simple= 0;
	    lex->alter_info.flags|= ALTER_DROP_COLUMN;
	  }
    break;

  case 385:
#line 1948 "sql_yacc.yy"
    { Lex->alter_info.is_simple= 0; }
    break;

  case 386:
#line 1950 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->alter_info.drop_list.push_back(new Alter_drop(Alter_drop::KEY,
				               primary_key_name));
	    lex->alter_info.is_simple= 0;
	    lex->alter_info.flags|= ALTER_DROP_INDEX;
	  }
    break;

  case 387:
#line 1958 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->alter_info.drop_list.push_back(new Alter_drop(Alter_drop::KEY,
					                       (yyvsp[0].lex_str).str));
	    lex->alter_info.is_simple= 0;
	    lex->alter_info.flags|= ALTER_DROP_INDEX;
	  }
    break;

  case 388:
#line 1965 "sql_yacc.yy"
    { Lex->alter_info.keys_onoff= DISABLE; }
    break;

  case 389:
#line 1966 "sql_yacc.yy"
    { Lex->alter_info.keys_onoff= ENABLE; }
    break;

  case 390:
#line 1968 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->alter_info.alter_list.push_back(new Alter_column((yyvsp[-3].lex_str).str,(yyvsp[0].item)));
	    lex->alter_info.is_simple= 0;
	    lex->alter_info.flags|= ALTER_CHANGE_COLUMN;
	  }
    break;

  case 391:
#line 1975 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->alter_info.alter_list.push_back(new Alter_column((yyvsp[-2].lex_str).str,
                                                                  (Item*) 0));
	    lex->alter_info.is_simple= 0;
	    lex->alter_info.flags|= ALTER_CHANGE_COLUMN;
	  }
    break;

  case 392:
#line 1983 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->select_lex.db=(yyvsp[0].table)->db.str;
	    lex->name= (yyvsp[0].table)->table.str;
            if (check_table_name((yyvsp[0].table)->table.str,(yyvsp[0].table)->table.length) ||
                (yyvsp[0].table)->db.str && check_db_name((yyvsp[0].table)->db.str))
            {
              net_printf(lex->thd,ER_WRONG_TABLE_NAME,(yyvsp[0].table)->table.str);
              YYABORT;
            }
	    lex->alter_info.flags|= ALTER_RENAME;
	  }
    break;

  case 393:
#line 1996 "sql_yacc.yy"
    {
	    if (!(yyvsp[-1].charset))
	    {
	      THD *thd= YYTHD;
	      (yyvsp[-1].charset)= thd->variables.collation_database;
	    }
	    (yyvsp[0].charset)= (yyvsp[0].charset) ? (yyvsp[0].charset) : (yyvsp[-1].charset);
	    if (!my_charset_same((yyvsp[-1].charset),(yyvsp[0].charset)))
	    {
	      net_printf(YYTHD,ER_COLLATION_CHARSET_MISMATCH,
			 (yyvsp[0].charset)->name,(yyvsp[-1].charset)->csname);
	      YYABORT;
	    }
	    LEX *lex= Lex;
	    lex->create_info.table_charset= 
	      lex->create_info.default_table_charset= (yyvsp[0].charset);
	    lex->create_info.used_fields|= (HA_CREATE_USED_CHARSET |
					    HA_CREATE_USED_DEFAULT_CHARSET);
	    lex->alter_info.is_simple= 0;
	  }
    break;

  case 394:
#line 2017 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->alter_info.is_simple= 0; 
	    lex->alter_info.flags|= ALTER_OPTIONS;
	  }
    break;

  case 395:
#line 2023 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->alter_info.is_simple= 0; 
	    lex->alter_info.flags|= ALTER_ORDER;
	  }
    break;

  case 396:
#line 2030 "sql_yacc.yy"
    {}
    break;

  case 397:
#line 2031 "sql_yacc.yy"
    {}
    break;

  case 398:
#line 2034 "sql_yacc.yy"
    { Lex->ignore= 0;}
    break;

  case 399:
#line 2035 "sql_yacc.yy"
    { Lex->ignore= 1;}
    break;

  case 400:
#line 2039 "sql_yacc.yy"
    {}
    break;

  case 401:
#line 2040 "sql_yacc.yy"
    {}
    break;

  case 402:
#line 2041 "sql_yacc.yy"
    {}
    break;

  case 403:
#line 2044 "sql_yacc.yy"
    {}
    break;

  case 404:
#line 2045 "sql_yacc.yy"
    { store_position_for_column((yyvsp[0].lex_str).str); }
    break;

  case 405:
#line 2046 "sql_yacc.yy"
    { store_position_for_column(first_keyword); }
    break;

  case 406:
#line 2049 "sql_yacc.yy"
    {}
    break;

  case 407:
#line 2050 "sql_yacc.yy"
    {}
    break;

  case 408:
#line 2051 "sql_yacc.yy"
    {}
    break;

  case 409:
#line 2052 "sql_yacc.yy"
    {}
    break;

  case 410:
#line 2060 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
            lex->sql_command = SQLCOM_SLAVE_START;
	    lex->type = 0;
	    /* We'll use mi structure for UNTIL options */
	    bzero((char*) &lex->mi, sizeof(lex->mi));
            /* If you change this code don't forget to update SLAVE START too */
          }
    break;

  case 411:
#line 2069 "sql_yacc.yy"
    {}
    break;

  case 412:
#line 2071 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
            lex->sql_command = SQLCOM_SLAVE_STOP;
	    lex->type = 0;
            /* If you change this code don't forget to update SLAVE STOP too */
          }
    break;

  case 413:
#line 2078 "sql_yacc.yy"
    {
	   LEX *lex=Lex;
           lex->sql_command = SQLCOM_SLAVE_START;
	   lex->type = 0;
	    /* We'll use mi structure for UNTIL options */
	    bzero((char*) &lex->mi, sizeof(lex->mi));
          }
    break;

  case 414:
#line 2086 "sql_yacc.yy"
    {}
    break;

  case 415:
#line 2088 "sql_yacc.yy"
    {
	   LEX *lex=Lex;
           lex->sql_command = SQLCOM_SLAVE_STOP;
	   lex->type = 0;
         }
    break;

  case 416:
#line 2098 "sql_yacc.yy"
    {
           Lex->sql_command = SQLCOM_BEGIN;
           Lex->start_transaction_opt= (yyvsp[0].num);
        }
    break;

  case 417:
#line 2105 "sql_yacc.yy"
    { (yyval.num) = 0; }
    break;

  case 418:
#line 2107 "sql_yacc.yy"
    {
           (yyval.num)= MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT;
        }
    break;

  case 419:
#line 2113 "sql_yacc.yy"
    { Lex->slave_thd_opt= 0; }
    break;

  case 420:
#line 2115 "sql_yacc.yy"
    {}
    break;

  case 423:
#line 2124 "sql_yacc.yy"
    {}
    break;

  case 424:
#line 2125 "sql_yacc.yy"
    { Lex->slave_thd_opt|=SLAVE_SQL; }
    break;

  case 425:
#line 2126 "sql_yacc.yy"
    { Lex->slave_thd_opt|=SLAVE_IO; }
    break;

  case 426:
#line 2130 "sql_yacc.yy"
    {}
    break;

  case 427:
#line 2132 "sql_yacc.yy"
    {
            LEX *lex=Lex;
            if ((lex->mi.log_file_name || lex->mi.pos) &&
                (lex->mi.relay_log_name || lex->mi.relay_log_pos) ||
                !((lex->mi.log_file_name && lex->mi.pos) ||
                  (lex->mi.relay_log_name && lex->mi.relay_log_pos)))
            {
               send_error(lex->thd, ER_BAD_SLAVE_UNTIL_COND);
               YYABORT;
            }

          }
    break;

  case 430:
#line 2153 "sql_yacc.yy"
    {
	   Lex->sql_command = SQLCOM_RESTORE_TABLE;
	}
    break;

  case 431:
#line 2157 "sql_yacc.yy"
    {
	  Lex->backup_dir = (yyvsp[0].lex_str).str;
        }
    break;

  case 432:
#line 2163 "sql_yacc.yy"
    {
	   Lex->sql_command = SQLCOM_BACKUP_TABLE;
	}
    break;

  case 433:
#line 2167 "sql_yacc.yy"
    {
	  Lex->backup_dir = (yyvsp[0].lex_str).str;
        }
    break;

  case 434:
#line 2173 "sql_yacc.yy"
    {
	   LEX *lex=Lex;
	   lex->sql_command = SQLCOM_CHECKSUM;
	}
    break;

  case 435:
#line 2178 "sql_yacc.yy"
    {}
    break;

  case 436:
#line 2182 "sql_yacc.yy"
    { Lex->check_opt.flags= 0; }
    break;

  case 437:
#line 2183 "sql_yacc.yy"
    { Lex->check_opt.flags= T_QUICK; }
    break;

  case 438:
#line 2184 "sql_yacc.yy"
    { Lex->check_opt.flags= T_EXTEND; }
    break;

  case 439:
#line 2189 "sql_yacc.yy"
    {
	   LEX *lex=Lex;
	   lex->sql_command = SQLCOM_REPAIR;
           lex->no_write_to_binlog= (yyvsp[-1].num);
	   lex->check_opt.init();
	}
    break;

  case 440:
#line 2196 "sql_yacc.yy"
    {}
    break;

  case 441:
#line 2200 "sql_yacc.yy"
    { Lex->check_opt.flags = T_MEDIUM; }
    break;

  case 442:
#line 2201 "sql_yacc.yy"
    {}
    break;

  case 443:
#line 2204 "sql_yacc.yy"
    {}
    break;

  case 444:
#line 2205 "sql_yacc.yy"
    {}
    break;

  case 445:
#line 2208 "sql_yacc.yy"
    { Lex->check_opt.flags|= T_QUICK; }
    break;

  case 446:
#line 2209 "sql_yacc.yy"
    { Lex->check_opt.flags|= T_EXTEND; }
    break;

  case 447:
#line 2210 "sql_yacc.yy"
    { Lex->check_opt.sql_flags|= TT_USEFRM; }
    break;

  case 448:
#line 2214 "sql_yacc.yy"
    {
	   LEX *lex=Lex;
	   lex->sql_command = SQLCOM_ANALYZE;
           lex->no_write_to_binlog= (yyvsp[-1].num);
	   lex->check_opt.init();
	}
    break;

  case 449:
#line 2221 "sql_yacc.yy"
    {}
    break;

  case 450:
#line 2226 "sql_yacc.yy"
    {
	   LEX *lex=Lex;
	   lex->sql_command = SQLCOM_CHECK;
	   lex->check_opt.init();
	}
    break;

  case 451:
#line 2232 "sql_yacc.yy"
    {}
    break;

  case 452:
#line 2236 "sql_yacc.yy"
    { Lex->check_opt.flags = T_MEDIUM; }
    break;

  case 453:
#line 2237 "sql_yacc.yy"
    {}
    break;

  case 454:
#line 2240 "sql_yacc.yy"
    {}
    break;

  case 455:
#line 2241 "sql_yacc.yy"
    {}
    break;

  case 456:
#line 2244 "sql_yacc.yy"
    { Lex->check_opt.flags|= T_QUICK; }
    break;

  case 457:
#line 2245 "sql_yacc.yy"
    { Lex->check_opt.flags|= T_FAST; }
    break;

  case 458:
#line 2246 "sql_yacc.yy"
    { Lex->check_opt.flags|= T_MEDIUM; }
    break;

  case 459:
#line 2247 "sql_yacc.yy"
    { Lex->check_opt.flags|= T_EXTEND; }
    break;

  case 460:
#line 2248 "sql_yacc.yy"
    { Lex->check_opt.flags|= T_CHECK_ONLY_CHANGED; }
    break;

  case 461:
#line 2252 "sql_yacc.yy"
    {
	   LEX *lex=Lex;
	   lex->sql_command = SQLCOM_OPTIMIZE;
           lex->no_write_to_binlog= (yyvsp[-1].num);
	   lex->check_opt.init();
	}
    break;

  case 462:
#line 2259 "sql_yacc.yy"
    {}
    break;

  case 463:
#line 2263 "sql_yacc.yy"
    { (yyval.num)= 0; }
    break;

  case 464:
#line 2264 "sql_yacc.yy"
    { (yyval.num)= 1; }
    break;

  case 465:
#line 2265 "sql_yacc.yy"
    { (yyval.num)= 1; }
    break;

  case 466:
#line 2270 "sql_yacc.yy"
    {
	   Lex->sql_command=SQLCOM_RENAME_TABLE;
	}
    break;

  case 467:
#line 2274 "sql_yacc.yy"
    {}
    break;

  case 470:
#line 2283 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  SELECT_LEX *sl= lex->current_select;
	  if (!sl->add_table_to_list(lex->thd, (yyvsp[-2].table),NULL,TL_OPTION_UPDATING,
				     TL_IGNORE) ||
	      !sl->add_table_to_list(lex->thd, (yyvsp[0].table),NULL,TL_OPTION_UPDATING,
				     TL_IGNORE))
	    YYABORT;
	}
    break;

  case 471:
#line 2295 "sql_yacc.yy"
    {
          LEX *lex=Lex;
          lex->sql_command= SQLCOM_ASSIGN_TO_KEYCACHE;
	  lex->name_and_length= (yyvsp[0].lex_str);
        }
    break;

  case 474:
#line 2308 "sql_yacc.yy"
    {
          LEX *lex=Lex;
          SELECT_LEX *sel= &lex->select_lex;
          if (!sel->add_table_to_list(lex->thd, (yyvsp[-1].table), NULL, 0,
                                      TL_READ,
                                      sel->get_use_index(),
                                      (List<String> *)0))
            YYABORT;
        }
    break;

  case 475:
#line 2320 "sql_yacc.yy"
    { (yyval.lex_str)= (yyvsp[0].lex_str); }
    break;

  case 476:
#line 2321 "sql_yacc.yy"
    { (yyval.lex_str) = default_key_cache_base; }
    break;

  case 477:
#line 2326 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->sql_command=SQLCOM_PRELOAD_KEYS;
	}
    break;

  case 478:
#line 2331 "sql_yacc.yy"
    {}
    break;

  case 481:
#line 2340 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  SELECT_LEX *sel= &lex->select_lex;
	  if (!sel->add_table_to_list(lex->thd, (yyvsp[-2].table), NULL, (yyvsp[0].num),
                                      TL_READ,
                                      sel->get_use_index(),
                                      (List<String> *)0))
            YYABORT;
	}
    break;

  case 482:
#line 2352 "sql_yacc.yy"
    { Select->interval_list.empty(); }
    break;

  case 483:
#line 2354 "sql_yacc.yy"
    {
          LEX *lex=Lex;
          SELECT_LEX *sel= &lex->select_lex;
          sel->use_index= sel->interval_list;
        }
    break;

  case 484:
#line 2362 "sql_yacc.yy"
    { Lex->select_lex.use_index_ptr= 0; }
    break;

  case 485:
#line 2364 "sql_yacc.yy"
    {
            SELECT_LEX *sel= &Lex->select_lex;
	    sel->use_index_ptr= &sel->use_index;
	  }
    break;

  case 486:
#line 2372 "sql_yacc.yy"
    { (yyval.num)= 0; }
    break;

  case 487:
#line 2373 "sql_yacc.yy"
    { (yyval.num)= TL_OPTION_IGNORE_LEAVES; }
    break;

  case 488:
#line 2383 "sql_yacc.yy"
    {
	  LEX *lex= Lex;
	  lex->sql_command= SQLCOM_SELECT;
	  lex->select_lex.resolve_mode= SELECT_LEX::SELECT_MODE;
	}
    break;

  case 491:
#line 2398 "sql_yacc.yy"
    {
	    LEX *lex= Lex;
            SELECT_LEX * sel= lex->current_select;
	    if (sel->set_braces(1))
	    {
	      yyerror(ER(ER_SYNTAX_ERROR));
	      YYABORT;
	    }
	  if (sel->linkage == UNION_TYPE &&
	      !sel->master_unit()->first_select()->braces)
	  {
	    yyerror(ER(ER_SYNTAX_ERROR));
	    YYABORT;
	  }
            /* select in braces, can't contain global parameters */
	    if (sel->master_unit()->fake_select_lex)
              sel->master_unit()->global_parameters=
                 sel->master_unit()->fake_select_lex;
          }
    break;

  case 493:
#line 2421 "sql_yacc.yy"
    {
	  LEX *lex= Lex;
          SELECT_LEX * sel= lex->current_select;
          if (lex->current_select->set_braces(0))
	  {
	    yyerror(ER(ER_SYNTAX_ERROR));
	    YYABORT;
	  }
	  if (sel->linkage == UNION_TYPE &&
	      sel->master_unit()->first_select()->braces)
	  {
	    yyerror(ER(ER_SYNTAX_ERROR));
	    YYABORT;
	  }
	}
    break;

  case 495:
#line 2440 "sql_yacc.yy"
    {
	  LEX *lex= Lex;
	  SELECT_LEX *sel= lex->current_select;
	  if (sel->linkage != UNION_TYPE)
	    mysql_init_select(lex);
	  lex->current_select->parsing_place= SELECT_LIST;
	}
    break;

  case 496:
#line 2448 "sql_yacc.yy"
    {
	  Select->parsing_place= NO_MATTER;
	}
    break;

  case 498:
#line 2454 "sql_yacc.yy"
    {}
    break;

  case 506:
#line 2473 "sql_yacc.yy"
    {
	    if (test_all_bits(Select->options, SELECT_ALL | SELECT_DISTINCT))
	    {
	      net_printf(Lex->thd, ER_WRONG_USAGE, "ALL", "DISTINCT");
              YYABORT;
	    }
          }
    break;

  case 509:
#line 2487 "sql_yacc.yy"
    { Select->options|= SELECT_STRAIGHT_JOIN; }
    break;

  case 510:
#line 2489 "sql_yacc.yy"
    {
	    if (check_simple_select())
	      YYABORT;
	    Lex->lock_option= TL_READ_HIGH_PRIORITY;
	  }
    break;

  case 511:
#line 2494 "sql_yacc.yy"
    { Select->options|= SELECT_DISTINCT; }
    break;

  case 512:
#line 2495 "sql_yacc.yy"
    { Select->options|= SELECT_SMALL_RESULT; }
    break;

  case 513:
#line 2496 "sql_yacc.yy"
    { Select->options|= SELECT_BIG_RESULT; }
    break;

  case 514:
#line 2498 "sql_yacc.yy"
    {
	    if (check_simple_select())
	      YYABORT;
	    Select->options|= OPTION_BUFFER_RESULT;
	  }
    break;

  case 515:
#line 2504 "sql_yacc.yy"
    {
	    if (check_simple_select())
	      YYABORT;
	    Select->options|= OPTION_FOUND_ROWS;
	  }
    break;

  case 516:
#line 2509 "sql_yacc.yy"
    { Lex->safe_to_cache_query=0; }
    break;

  case 517:
#line 2511 "sql_yacc.yy"
    {
	    Lex->select_lex.options|= OPTION_TO_QUERY_CACHE;
	  }
    break;

  case 518:
#line 2514 "sql_yacc.yy"
    { Select->options|= SELECT_ALL; }
    break;

  case 520:
#line 2520 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->current_select->set_lock_for_tables(TL_WRITE);
	    lex->safe_to_cache_query=0;
	  }
    break;

  case 521:
#line 2526 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->current_select->
	      set_lock_for_tables(TL_READ_WITH_SHARED_LOCKS);
	    lex->safe_to_cache_query=0;
	  }
    break;

  case 524:
#line 2538 "sql_yacc.yy"
    {
	    THD *thd= YYTHD;
	    if (add_item_to_list(thd, new Item_field(NULL, NULL, "*")))
	      YYABORT;
	    (thd->lex->current_select->with_wild)++;
	  }
    break;

  case 525:
#line 2548 "sql_yacc.yy"
    {
	    if (add_item_to_list(YYTHD, (yyvsp[-2].item)))
	      YYABORT;
	    if ((yyvsp[0].lex_str).str)
	      (yyvsp[-2].item)->set_name((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,system_charset_info);
	    else if (!(yyvsp[-2].item)->name)
	      (yyvsp[-2].item)->set_name((yyvsp[-3].simple_string),(uint) ((yyvsp[-1].simple_string) - (yyvsp[-3].simple_string)), YYTHD->charset());
	  }
    break;

  case 526:
#line 2558 "sql_yacc.yy"
    { (yyval.simple_string)=(char*) Lex->tok_start; }
    break;

  case 527:
#line 2561 "sql_yacc.yy"
    { (yyval.simple_string)=(char*) Lex->tok_end; }
    break;

  case 528:
#line 2564 "sql_yacc.yy"
    { (yyval.item)=(yyvsp[0].item); }
    break;

  case 529:
#line 2565 "sql_yacc.yy"
    { (yyval.item)=(yyvsp[0].item); }
    break;

  case 530:
#line 2568 "sql_yacc.yy"
    { (yyval.lex_str).str=0;}
    break;

  case 531:
#line 2569 "sql_yacc.yy"
    { (yyval.lex_str)=(yyvsp[0].lex_str); }
    break;

  case 532:
#line 2570 "sql_yacc.yy"
    { (yyval.lex_str)=(yyvsp[0].lex_str); }
    break;

  case 533:
#line 2571 "sql_yacc.yy"
    { (yyval.lex_str)=(yyvsp[0].lex_str); }
    break;

  case 534:
#line 2572 "sql_yacc.yy"
    { (yyval.lex_str)=(yyvsp[0].lex_str); }
    break;

  case 535:
#line 2576 "sql_yacc.yy"
    {}
    break;

  case 536:
#line 2577 "sql_yacc.yy"
    {}
    break;

  case 537:
#line 2581 "sql_yacc.yy"
    { (yyval.item)= (yyvsp[0].item); }
    break;

  case 538:
#line 2582 "sql_yacc.yy"
    { (yyval.item)= (yyvsp[0].item); }
    break;

  case 539:
#line 2585 "sql_yacc.yy"
    { (yyval.boolfunc2creator) = &comp_eq_creator; }
    break;

  case 540:
#line 2586 "sql_yacc.yy"
    { (yyval.boolfunc2creator) = &comp_ge_creator; }
    break;

  case 541:
#line 2587 "sql_yacc.yy"
    { (yyval.boolfunc2creator) = &comp_gt_creator; }
    break;

  case 542:
#line 2588 "sql_yacc.yy"
    { (yyval.boolfunc2creator) = &comp_le_creator; }
    break;

  case 543:
#line 2589 "sql_yacc.yy"
    { (yyval.boolfunc2creator) = &comp_lt_creator; }
    break;

  case 544:
#line 2590 "sql_yacc.yy"
    { (yyval.boolfunc2creator) = &comp_ne_creator; }
    break;

  case 545:
#line 2593 "sql_yacc.yy"
    { (yyval.num) = 1; }
    break;

  case 546:
#line 2594 "sql_yacc.yy"
    { (yyval.num) = 0; }
    break;

  case 547:
#line 2600 "sql_yacc.yy"
    { (yyvsp[-1].item_list)->push_front((yyvsp[-4].item)); (yyval.item)= new Item_func_in(*(yyvsp[-1].item_list)); }
    break;

  case 548:
#line 2602 "sql_yacc.yy"
    {
      (yyvsp[-1].item_list)->push_front((yyvsp[-5].item));
      Item_func_in *item= new Item_func_in(*(yyvsp[-1].item_list));
      item->negate();
      (yyval.item)= item;
    }
    break;

  case 549:
#line 2609 "sql_yacc.yy"
    { (yyval.item)= new Item_in_subselect((yyvsp[-2].item), (yyvsp[0].select_lex)); }
    break;

  case 550:
#line 2611 "sql_yacc.yy"
    {
            (yyval.item)= new Item_func_not(new Item_in_subselect((yyvsp[-3].item), (yyvsp[0].select_lex)));
          }
    break;

  case 551:
#line 2615 "sql_yacc.yy"
    { (yyval.item)= new Item_func_between((yyvsp[-4].item),(yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 552:
#line 2617 "sql_yacc.yy"
    {
      Item_func_between *item= new Item_func_between((yyvsp[-5].item),(yyvsp[-2].item),(yyvsp[0].item));
      item->negate();
      (yyval.item)= item;
    }
    break;

  case 553:
#line 2622 "sql_yacc.yy"
    { (yyval.item)= or_or_concat(YYTHD, (yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 554:
#line 2623 "sql_yacc.yy"
    { (yyval.item)= new Item_cond_or((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 555:
#line 2624 "sql_yacc.yy"
    { (yyval.item)= new Item_cond_xor((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 556:
#line 2625 "sql_yacc.yy"
    { (yyval.item)= new Item_cond_and((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 557:
#line 2627 "sql_yacc.yy"
    {
	    (yyval.item)= new Item_func_eq(new Item_func_soundex((yyvsp[-3].item)),
				 new Item_func_soundex((yyvsp[0].item)));
	  }
    break;

  case 558:
#line 2632 "sql_yacc.yy"
    { (yyval.item)= new Item_func_like((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].item)); }
    break;

  case 559:
#line 2634 "sql_yacc.yy"
    { (yyval.item)= new Item_func_not(new Item_func_like((yyvsp[-4].item),(yyvsp[-1].item),(yyvsp[0].item)));}
    break;

  case 560:
#line 2635 "sql_yacc.yy"
    { (yyval.item)= new Item_func_regex((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 561:
#line 2637 "sql_yacc.yy"
    { (yyval.item)= new Item_func_not(new Item_func_regex((yyvsp[-3].item),(yyvsp[0].item))); }
    break;

  case 562:
#line 2638 "sql_yacc.yy"
    { (yyval.item)= new Item_func_isnull((yyvsp[-2].item)); }
    break;

  case 563:
#line 2639 "sql_yacc.yy"
    { (yyval.item)= new Item_func_isnotnull((yyvsp[-3].item)); }
    break;

  case 564:
#line 2640 "sql_yacc.yy"
    { (yyval.item)= new Item_func_equal((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 565:
#line 2641 "sql_yacc.yy"
    { (yyval.item)= (*(yyvsp[-1].boolfunc2creator))(0)->create((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 566:
#line 2643 "sql_yacc.yy"
    {
	  (yyval.item)= all_any_subquery_creator((yyvsp[-3].item), (yyvsp[-2].boolfunc2creator), (yyvsp[-1].num), (yyvsp[0].select_lex));
	}
    break;

  case 567:
#line 2646 "sql_yacc.yy"
    { (yyval.item)= new Item_func_shift_left((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 568:
#line 2647 "sql_yacc.yy"
    { (yyval.item)= new Item_func_shift_right((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 569:
#line 2648 "sql_yacc.yy"
    { (yyval.item)= new Item_func_plus((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 570:
#line 2649 "sql_yacc.yy"
    { (yyval.item)= new Item_func_minus((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 571:
#line 2650 "sql_yacc.yy"
    { (yyval.item)= new Item_func_mul((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 572:
#line 2651 "sql_yacc.yy"
    { (yyval.item)= new Item_func_div((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 573:
#line 2652 "sql_yacc.yy"
    { (yyval.item)= new Item_func_int_div((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 574:
#line 2653 "sql_yacc.yy"
    { (yyval.item)= new Item_func_mod((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 575:
#line 2654 "sql_yacc.yy"
    { (yyval.item)= new Item_func_bit_or((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 576:
#line 2655 "sql_yacc.yy"
    { (yyval.item)= new Item_func_bit_xor((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 577:
#line 2656 "sql_yacc.yy"
    { (yyval.item)= new Item_func_bit_and((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 578:
#line 2657 "sql_yacc.yy"
    { (yyval.item)= new Item_func_mod((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 579:
#line 2659 "sql_yacc.yy"
    { (yyval.item)= new Item_date_add_interval((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].interval),0); }
    break;

  case 580:
#line 2661 "sql_yacc.yy"
    { (yyval.item)= new Item_date_add_interval((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].interval),1); }
    break;

  case 581:
#line 2667 "sql_yacc.yy"
    { (yyval.item)= new Item_func_between((yyvsp[-4].item),(yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 582:
#line 2669 "sql_yacc.yy"
    {
      Item_func_between *item= new Item_func_between((yyvsp[-5].item),(yyvsp[-2].item),(yyvsp[0].item));
      item->negate();
      (yyval.item)= item;
    }
    break;

  case 583:
#line 2674 "sql_yacc.yy"
    { (yyval.item)= or_or_concat(YYTHD, (yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 584:
#line 2675 "sql_yacc.yy"
    { (yyval.item)= new Item_cond_or((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 585:
#line 2676 "sql_yacc.yy"
    { (yyval.item)= new Item_cond_xor((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 586:
#line 2677 "sql_yacc.yy"
    { (yyval.item)= new Item_cond_and((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 587:
#line 2679 "sql_yacc.yy"
    {
	    (yyval.item)= new Item_func_eq(new Item_func_soundex((yyvsp[-3].item)),
				 new Item_func_soundex((yyvsp[0].item)));
	  }
    break;

  case 588:
#line 2684 "sql_yacc.yy"
    { (yyval.item)= new Item_func_like((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].item)); }
    break;

  case 589:
#line 2686 "sql_yacc.yy"
    { (yyval.item)= new Item_func_not(new Item_func_like((yyvsp[-4].item),(yyvsp[-1].item),(yyvsp[0].item))); }
    break;

  case 590:
#line 2687 "sql_yacc.yy"
    { (yyval.item)= new Item_func_regex((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 591:
#line 2689 "sql_yacc.yy"
    { (yyval.item)= new Item_func_not(new Item_func_regex((yyvsp[-3].item),(yyvsp[0].item))); }
    break;

  case 592:
#line 2690 "sql_yacc.yy"
    { (yyval.item)= new Item_func_isnull((yyvsp[-2].item)); }
    break;

  case 593:
#line 2691 "sql_yacc.yy"
    { (yyval.item)= new Item_func_isnotnull((yyvsp[-3].item)); }
    break;

  case 594:
#line 2692 "sql_yacc.yy"
    { (yyval.item)= new Item_func_equal((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 595:
#line 2693 "sql_yacc.yy"
    { (yyval.item)= (*(yyvsp[-1].boolfunc2creator))(0)->create((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 596:
#line 2695 "sql_yacc.yy"
    {
	  all_any_subquery_creator((yyvsp[-3].item), (yyvsp[-2].boolfunc2creator), (yyvsp[-1].num), (yyvsp[0].select_lex));
	}
    break;

  case 597:
#line 2698 "sql_yacc.yy"
    { (yyval.item)= new Item_func_shift_left((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 598:
#line 2699 "sql_yacc.yy"
    { (yyval.item)= new Item_func_shift_right((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 599:
#line 2700 "sql_yacc.yy"
    { (yyval.item)= new Item_func_plus((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 600:
#line 2701 "sql_yacc.yy"
    { (yyval.item)= new Item_func_minus((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 601:
#line 2702 "sql_yacc.yy"
    { (yyval.item)= new Item_func_mul((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 602:
#line 2703 "sql_yacc.yy"
    { (yyval.item)= new Item_func_div((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 603:
#line 2704 "sql_yacc.yy"
    { (yyval.item)= new Item_func_int_div((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 604:
#line 2705 "sql_yacc.yy"
    { (yyval.item)= new Item_func_bit_or((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 605:
#line 2706 "sql_yacc.yy"
    { (yyval.item)= new Item_func_bit_xor((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 606:
#line 2707 "sql_yacc.yy"
    { (yyval.item)= new Item_func_bit_and((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 607:
#line 2708 "sql_yacc.yy"
    { (yyval.item)= new Item_func_mod((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 608:
#line 2709 "sql_yacc.yy"
    { (yyval.item)= new Item_func_mod((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 609:
#line 2711 "sql_yacc.yy"
    { (yyval.item)= new Item_date_add_interval((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].interval),0); }
    break;

  case 610:
#line 2713 "sql_yacc.yy"
    { (yyval.item)= new Item_date_add_interval((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].interval),1); }
    break;

  case 612:
#line 2719 "sql_yacc.yy"
    { (yyvsp[-1].item_list)->push_front((yyvsp[-4].item)); (yyval.item)= new Item_func_in(*(yyvsp[-1].item_list)); }
    break;

  case 613:
#line 2721 "sql_yacc.yy"
    {
      (yyvsp[-1].item_list)->push_front((yyvsp[-5].item));
      Item_func_in *item= new Item_func_in(*(yyvsp[-1].item_list));
      item->negate();
      (yyval.item)= item;
    }
    break;

  case 614:
#line 2728 "sql_yacc.yy"
    { (yyval.item)= new Item_in_subselect((yyvsp[-2].item), (yyvsp[0].select_lex)); }
    break;

  case 615:
#line 2730 "sql_yacc.yy"
    {
            (yyval.item)= new Item_func_not(new Item_in_subselect((yyvsp[-3].item), (yyvsp[0].select_lex)));
          }
    break;

  case 616:
#line 2734 "sql_yacc.yy"
    { (yyval.item)= new Item_func_between((yyvsp[-4].item),(yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 617:
#line 2736 "sql_yacc.yy"
    {
      Item_func_between *item= new Item_func_between((yyvsp[-5].item),(yyvsp[-2].item),(yyvsp[0].item));
      item->negate();
      (yyval.item)= item;
    }
    break;

  case 618:
#line 2741 "sql_yacc.yy"
    { (yyval.item)= or_or_concat(YYTHD, (yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 619:
#line 2742 "sql_yacc.yy"
    { (yyval.item)= new Item_cond_or((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 620:
#line 2743 "sql_yacc.yy"
    { (yyval.item)= new Item_cond_xor((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 621:
#line 2745 "sql_yacc.yy"
    {
	    (yyval.item)= new Item_func_eq(new Item_func_soundex((yyvsp[-3].item)),
				 new Item_func_soundex((yyvsp[0].item)));
	  }
    break;

  case 622:
#line 2750 "sql_yacc.yy"
    { (yyval.item)= new Item_func_like((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].item)); }
    break;

  case 623:
#line 2752 "sql_yacc.yy"
    { (yyval.item)= new Item_func_not(new Item_func_like((yyvsp[-4].item),(yyvsp[-1].item),(yyvsp[0].item))); }
    break;

  case 624:
#line 2753 "sql_yacc.yy"
    { (yyval.item)= new Item_func_regex((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 625:
#line 2755 "sql_yacc.yy"
    { (yyval.item)= new Item_func_not(new Item_func_regex((yyvsp[-3].item),(yyvsp[0].item))); }
    break;

  case 626:
#line 2756 "sql_yacc.yy"
    { (yyval.item)= new Item_func_isnull((yyvsp[-2].item)); }
    break;

  case 627:
#line 2757 "sql_yacc.yy"
    { (yyval.item)= new Item_func_isnotnull((yyvsp[-3].item)); }
    break;

  case 628:
#line 2758 "sql_yacc.yy"
    { (yyval.item)= new Item_func_equal((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 629:
#line 2759 "sql_yacc.yy"
    { (yyval.item)= (*(yyvsp[-1].boolfunc2creator))(0)->create((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 630:
#line 2761 "sql_yacc.yy"
    {
	  all_any_subquery_creator((yyvsp[-3].item), (yyvsp[-2].boolfunc2creator), (yyvsp[-1].num), (yyvsp[0].select_lex));
	}
    break;

  case 631:
#line 2764 "sql_yacc.yy"
    { (yyval.item)= new Item_func_shift_left((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 632:
#line 2765 "sql_yacc.yy"
    { (yyval.item)= new Item_func_shift_right((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 633:
#line 2766 "sql_yacc.yy"
    { (yyval.item)= new Item_func_plus((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 634:
#line 2767 "sql_yacc.yy"
    { (yyval.item)= new Item_func_minus((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 635:
#line 2768 "sql_yacc.yy"
    { (yyval.item)= new Item_func_mul((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 636:
#line 2769 "sql_yacc.yy"
    { (yyval.item)= new Item_func_div((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 637:
#line 2770 "sql_yacc.yy"
    { (yyval.item)= new Item_func_int_div((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 638:
#line 2771 "sql_yacc.yy"
    { (yyval.item)= new Item_func_bit_or((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 639:
#line 2772 "sql_yacc.yy"
    { (yyval.item)= new Item_func_bit_xor((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 640:
#line 2773 "sql_yacc.yy"
    { (yyval.item)= new Item_func_bit_and((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 641:
#line 2774 "sql_yacc.yy"
    { (yyval.item)= new Item_func_mod((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 642:
#line 2775 "sql_yacc.yy"
    { (yyval.item)= new Item_func_mod((yyvsp[-2].item),(yyvsp[0].item)); }
    break;

  case 643:
#line 2777 "sql_yacc.yy"
    { (yyval.item)= new Item_date_add_interval((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].interval),0); }
    break;

  case 644:
#line 2779 "sql_yacc.yy"
    { (yyval.item)= new Item_date_add_interval((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].interval),1); }
    break;

  case 646:
#line 2783 "sql_yacc.yy"
    { (yyval.item)=(yyvsp[0].item); }
    break;

  case 648:
#line 2789 "sql_yacc.yy"
    {
	    (yyval.item)= new Item_func_set_collation((yyvsp[-2].item),
					    new Item_string((yyvsp[0].lex_str).str,
							    (yyvsp[0].lex_str).length,
                                                            YYTHD->charset()));
	  }
    break;

  case 651:
#line 2798 "sql_yacc.yy"
    {
	    (yyval.item)= new Item_func_set_user_var((yyvsp[-2].lex_str),(yyvsp[0].item));
	    Lex->uncacheable(UNCACHEABLE_RAND);
	  }
    break;

  case 652:
#line 2803 "sql_yacc.yy"
    {
	    (yyval.item)= new Item_func_get_user_var((yyvsp[0].lex_str));
	    Lex->uncacheable(UNCACHEABLE_RAND);
	  }
    break;

  case 653:
#line 2808 "sql_yacc.yy"
    {

            if ((yyvsp[-1].lex_str).str && (yyvsp[0].lex_str).str && check_reserved_words(&(yyvsp[-1].lex_str)))
            {
              yyerror(ER(ER_SYNTAX_ERROR));
              YYABORT;
            }
	    if (!((yyval.item)= get_system_var(YYTHD, (enum_var_type) (yyvsp[-2].num), (yyvsp[-1].lex_str), (yyvsp[0].lex_str))))
	      YYABORT;
	  }
    break;

  case 655:
#line 2819 "sql_yacc.yy"
    { (yyval.item)= (yyvsp[0].item); }
    break;

  case 656:
#line 2820 "sql_yacc.yy"
    { (yyval.item)= new Item_func_neg((yyvsp[0].item)); }
    break;

  case 657:
#line 2821 "sql_yacc.yy"
    { (yyval.item)= new Item_func_bit_neg((yyvsp[0].item)); }
    break;

  case 658:
#line 2823 "sql_yacc.yy"
    {
            (yyval.item)= negate_expression(YYTHD, (yyvsp[0].item));
          }
    break;

  case 659:
#line 2827 "sql_yacc.yy"
    {
            (yyval.item)= negate_expression(YYTHD, (yyvsp[0].item));
          }
    break;

  case 660:
#line 2830 "sql_yacc.yy"
    { (yyval.item)= (yyvsp[-1].item); }
    break;

  case 661:
#line 2832 "sql_yacc.yy"
    {
	    (yyvsp[-1].item_list)->push_front((yyvsp[-3].item));
	    (yyval.item)= new Item_row(*(yyvsp[-1].item_list));
	  }
    break;

  case 662:
#line 2837 "sql_yacc.yy"
    {
	    (yyvsp[-1].item_list)->push_front((yyvsp[-3].item));
	    (yyval.item)= new Item_row(*(yyvsp[-1].item_list));
	  }
    break;

  case 663:
#line 2841 "sql_yacc.yy"
    { (yyval.item)= (yyvsp[0].item); }
    break;

  case 664:
#line 2842 "sql_yacc.yy"
    { (yyval.item)= (yyvsp[0].item); }
    break;

  case 665:
#line 2843 "sql_yacc.yy"
    { (yyval.item)= (yyvsp[-1].item); }
    break;

  case 666:
#line 2845 "sql_yacc.yy"
    { (yyvsp[-5].item_list)->push_front((yyvsp[-2].item));
            Select->add_ftfunc_to_list((Item_func_match*)
                                        ((yyval.item)=new Item_func_match(*(yyvsp[-5].item_list),(yyvsp[-1].num)))); }
    break;

  case 667:
#line 2848 "sql_yacc.yy"
    { (yyval.item)= new Item_func_ascii((yyvsp[-1].item)); }
    break;

  case 668:
#line 2850 "sql_yacc.yy"
    {
	    (yyval.item)= create_func_cast((yyvsp[0].item), ITEM_CAST_CHAR, -1, &my_charset_bin);
	  }
    break;

  case 669:
#line 2854 "sql_yacc.yy"
    {
	    (yyval.item)= create_func_cast((yyvsp[-3].item), (yyvsp[-1].cast_type),
				 Lex->length ? atoi(Lex->length) : -1,
				 Lex->charset);
	  }
    break;

  case 670:
#line 2860 "sql_yacc.yy"
    { (yyval.item)= new Item_func_case(* (yyvsp[-2].item_list), (yyvsp[-4].item), (yyvsp[-1].item) ); }
    break;

  case 671:
#line 2862 "sql_yacc.yy"
    {
	    (yyval.item)= create_func_cast((yyvsp[-3].item), (yyvsp[-1].cast_type),
				 Lex->length ? atoi(Lex->length) : -1,
				 Lex->charset);
	  }
    break;

  case 672:
#line 2868 "sql_yacc.yy"
    { (yyval.item)= new Item_func_conv_charset((yyvsp[-3].item),(yyvsp[-1].charset)); }
    break;

  case 673:
#line 2870 "sql_yacc.yy"
    { (yyval.item)= new Item_default_value((yyvsp[-1].item)); }
    break;

  case 674:
#line 2872 "sql_yacc.yy"
    { (yyval.item)= new Item_insert_value((yyvsp[-1].item)); }
    break;

  case 675:
#line 2874 "sql_yacc.yy"
    {
	    if (!(yyvsp[-2].symbol).symbol->create_func)
	    {
	      net_printf(Lex->thd, ER_FEATURE_DISABLED,
			 (yyvsp[-2].symbol).symbol->group->name,
	                 (yyvsp[-2].symbol).symbol->group->needed_define);
	      YYABORT;
	    }
	    (yyval.item)= ((Item*(*)(void))((yyvsp[-2].symbol).symbol->create_func))();
	  }
    break;

  case 676:
#line 2885 "sql_yacc.yy"
    {
	    if (!(yyvsp[-3].symbol).symbol->create_func)
	    {
	      net_printf(Lex->thd, ER_FEATURE_DISABLED,
			 (yyvsp[-3].symbol).symbol->group->name,
	                 (yyvsp[-3].symbol).symbol->group->needed_define);
	      YYABORT;
	    }
	    (yyval.item)= ((Item*(*)(Item*))((yyvsp[-3].symbol).symbol->create_func))((yyvsp[-1].item));
	  }
    break;

  case 677:
#line 2896 "sql_yacc.yy"
    {
	    if (!(yyvsp[-5].symbol).symbol->create_func)
	    {
	      net_printf(Lex->thd, ER_FEATURE_DISABLED,
			 (yyvsp[-5].symbol).symbol->group->name,
	                 (yyvsp[-5].symbol).symbol->group->needed_define);
	      YYABORT;
	    }
	    (yyval.item)= ((Item*(*)(Item*,Item*))((yyvsp[-5].symbol).symbol->create_func))((yyvsp[-3].item),(yyvsp[-1].item));
	  }
    break;

  case 678:
#line 2907 "sql_yacc.yy"
    {
	    if (!(yyvsp[-7].symbol).symbol->create_func)
	    {
	      net_printf(Lex->thd, ER_FEATURE_DISABLED,
			 (yyvsp[-7].symbol).symbol->group->name,
	                 (yyvsp[-7].symbol).symbol->group->needed_define);
	      YYABORT;
	    }
	    (yyval.item)= ((Item*(*)(Item*,Item*,Item*))((yyvsp[-7].symbol).symbol->create_func))((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
	  }
    break;

  case 679:
#line 2918 "sql_yacc.yy"
    { (yyval.item)= new Item_date_add_interval((yyvsp[-3].item), (yyvsp[-1].item), INTERVAL_DAY, 0);}
    break;

  case 680:
#line 2920 "sql_yacc.yy"
    { (yyval.item)= new Item_date_add_interval((yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 0); }
    break;

  case 681:
#line 2922 "sql_yacc.yy"
    { (yyval.item)= new Item_func_atan((yyvsp[-1].item)); }
    break;

  case 682:
#line 2924 "sql_yacc.yy"
    { (yyval.item)= new Item_func_atan((yyvsp[-3].item),(yyvsp[-1].item)); }
    break;

  case 683:
#line 2926 "sql_yacc.yy"
    { (yyval.item)= new Item_func_char(*(yyvsp[-1].item_list)); }
    break;

  case 684:
#line 2928 "sql_yacc.yy"
    { (yyval.item)= new Item_func_char(*(yyvsp[-3].item_list), (yyvsp[-1].charset)); }
    break;

  case 685:
#line 2930 "sql_yacc.yy"
    { (yyval.item)= new Item_func_charset((yyvsp[-1].item)); }
    break;

  case 686:
#line 2932 "sql_yacc.yy"
    { (yyval.item)= new Item_func_coalesce(* (yyvsp[-1].item_list)); }
    break;

  case 687:
#line 2934 "sql_yacc.yy"
    { (yyval.item)= new Item_func_collation((yyvsp[-1].item)); }
    break;

  case 688:
#line 2936 "sql_yacc.yy"
    { (yyval.item)= new Item_func_concat(* (yyvsp[-1].item_list)); }
    break;

  case 689:
#line 2938 "sql_yacc.yy"
    { (yyvsp[-1].item_list)->push_front((yyvsp[-3].item)); (yyval.item)= new Item_func_concat_ws(*(yyvsp[-1].item_list)); }
    break;

  case 690:
#line 2940 "sql_yacc.yy"
    {
	    Lex->time_zone_tables_used= &fake_time_zone_tables_list;
	    (yyval.item)= new Item_func_convert_tz((yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item));
	  }
    break;

  case 691:
#line 2945 "sql_yacc.yy"
    { (yyval.item)= new Item_func_curdate_local(); Lex->safe_to_cache_query=0; }
    break;

  case 692:
#line 2947 "sql_yacc.yy"
    { (yyval.item)= new Item_func_curtime_local(); Lex->safe_to_cache_query=0; }
    break;

  case 693:
#line 2949 "sql_yacc.yy"
    {
	    (yyval.item)= new Item_func_curtime_local((yyvsp[-1].item));
	    Lex->safe_to_cache_query=0;
	  }
    break;

  case 694:
#line 2954 "sql_yacc.yy"
    { (yyval.item)= create_func_current_user(); }
    break;

  case 695:
#line 2956 "sql_yacc.yy"
    { (yyval.item)= new Item_date_add_interval((yyvsp[-4].item),(yyvsp[-2].item),(yyvsp[-1].interval),0); }
    break;

  case 696:
#line 2958 "sql_yacc.yy"
    { (yyval.item)= new Item_date_add_interval((yyvsp[-4].item),(yyvsp[-2].item),(yyvsp[-1].interval),1); }
    break;

  case 697:
#line 2960 "sql_yacc.yy"
    {
	    (yyval.item)= new Item_func_database();
            Lex->safe_to_cache_query=0;
	  }
    break;

  case 698:
#line 2965 "sql_yacc.yy"
    { (yyval.item)= new Item_date_typecast((yyvsp[-1].item)); }
    break;

  case 699:
#line 2967 "sql_yacc.yy"
    { (yyval.item)= new Item_func_dayofmonth((yyvsp[-1].item)); }
    break;

  case 700:
#line 2969 "sql_yacc.yy"
    { (yyvsp[-1].item_list)->push_front((yyvsp[-3].item)); (yyval.item)= new Item_func_elt(*(yyvsp[-1].item_list)); }
    break;

  case 701:
#line 2971 "sql_yacc.yy"
    { (yyval.item)= new Item_func_make_set((yyvsp[-3].item), *(yyvsp[-1].item_list)); }
    break;

  case 702:
#line 2973 "sql_yacc.yy"
    {
	    (yyval.item)= new Item_func_encrypt((yyvsp[-1].item));
	    Lex->uncacheable(UNCACHEABLE_RAND);
	  }
    break;

  case 703:
#line 2977 "sql_yacc.yy"
    { (yyval.item)= new Item_func_encrypt((yyvsp[-3].item),(yyvsp[-1].item)); }
    break;

  case 704:
#line 2979 "sql_yacc.yy"
    { (yyval.item)= new Item_func_decode((yyvsp[-3].item),(yyvsp[-1].lex_str).str); }
    break;

  case 705:
#line 2981 "sql_yacc.yy"
    { (yyval.item)= new Item_func_encode((yyvsp[-3].item),(yyvsp[-1].lex_str).str); }
    break;

  case 706:
#line 2983 "sql_yacc.yy"
    { (yyval.item)= new Item_func_des_decrypt((yyvsp[-1].item)); }
    break;

  case 707:
#line 2985 "sql_yacc.yy"
    { (yyval.item)= new Item_func_des_decrypt((yyvsp[-3].item),(yyvsp[-1].item)); }
    break;

  case 708:
#line 2987 "sql_yacc.yy"
    { (yyval.item)= new Item_func_des_encrypt((yyvsp[-1].item)); }
    break;

  case 709:
#line 2989 "sql_yacc.yy"
    { (yyval.item)= new Item_func_des_encrypt((yyvsp[-3].item),(yyvsp[-1].item)); }
    break;

  case 710:
#line 2991 "sql_yacc.yy"
    { (yyval.item)= new Item_func_export_set((yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); }
    break;

  case 711:
#line 2993 "sql_yacc.yy"
    { (yyval.item)= new Item_func_export_set((yyvsp[-7].item), (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); }
    break;

  case 712:
#line 2995 "sql_yacc.yy"
    { (yyval.item)= new Item_func_export_set((yyvsp[-9].item), (yyvsp[-7].item), (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item)); }
    break;

  case 713:
#line 2997 "sql_yacc.yy"
    { (yyval.item)= new Item_func_format((yyvsp[-3].item),atoi((yyvsp[-1].lex_str).str)); }
    break;

  case 714:
#line 2999 "sql_yacc.yy"
    { (yyval.item)= new Item_func_from_unixtime((yyvsp[-1].item)); }
    break;

  case 715:
#line 3001 "sql_yacc.yy"
    {
	    (yyval.item)= new Item_func_date_format (new Item_func_from_unixtime((yyvsp[-3].item)),(yyvsp[-1].item),0);
	  }
    break;

  case 716:
#line 3005 "sql_yacc.yy"
    { (yyvsp[-1].item_list)->push_front((yyvsp[-3].item)); (yyval.item)= new Item_func_field(*(yyvsp[-1].item_list)); }
    break;

  case 717:
#line 3007 "sql_yacc.yy"
    {
#ifdef HAVE_SPATIAL
	    (yyval.item)= (yyvsp[0].item);
#else
	    net_printf(Lex->thd, ER_FEATURE_DISABLED,
	               sym_group_geom.name, sym_group_geom.needed_define);
	    YYABORT;
#endif
	  }
    break;

  case 718:
#line 3017 "sql_yacc.yy"
    { (yyval.item)= new Item_func_get_format((yyvsp[-3].date_time_type), (yyvsp[-1].item)); }
    break;

  case 719:
#line 3019 "sql_yacc.yy"
    { (yyval.item)= new Item_func_hour((yyvsp[-1].item)); }
    break;

  case 720:
#line 3021 "sql_yacc.yy"
    { (yyval.item)= new Item_func_if((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); }
    break;

  case 721:
#line 3023 "sql_yacc.yy"
    { (yyval.item)= new Item_func_insert((yyvsp[-7].item),(yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); }
    break;

  case 722:
#line 3026 "sql_yacc.yy"
    { (yyval.item)= new Item_date_add_interval((yyvsp[0].item),(yyvsp[-3].item),(yyvsp[-2].interval),0); }
    break;

  case 723:
#line 3028 "sql_yacc.yy"
    {
            if ((yyvsp[0].item)->type() != Item::ROW_ITEM)
            {
              yyerror(ER(ER_SYNTAX_ERROR));
              YYABORT;
            }
            (yyval.item)= new Item_func_interval((Item_row *)(yyvsp[0].item));
          }
    break;

  case 724:
#line 3037 "sql_yacc.yy"
    {
	    (yyval.item)= new Item_func_last_insert_id();
	    Lex->safe_to_cache_query= 0;
	  }
    break;

  case 725:
#line 3042 "sql_yacc.yy"
    {
	    (yyval.item)= new Item_func_last_insert_id((yyvsp[-1].item));
	    Lex->safe_to_cache_query= 0;
	  }
    break;

  case 726:
#line 3047 "sql_yacc.yy"
    { (yyval.item)= new Item_func_left((yyvsp[-3].item),(yyvsp[-1].item)); }
    break;

  case 727:
#line 3049 "sql_yacc.yy"
    { (yyval.item)= new Item_func_locate((yyvsp[-1].item),(yyvsp[-3].item)); }
    break;

  case 728:
#line 3051 "sql_yacc.yy"
    { (yyval.item)= new Item_func_locate((yyvsp[-3].item),(yyvsp[-5].item),(yyvsp[-1].item)); }
    break;

  case 729:
#line 3053 "sql_yacc.yy"
    { (yyvsp[-1].item_list)->push_front((yyvsp[-3].item)); (yyval.item)= new Item_func_max(*(yyvsp[-1].item_list)); }
    break;

  case 730:
#line 3055 "sql_yacc.yy"
    { (yyvsp[-1].item_list)->push_front((yyvsp[-3].item)); (yyval.item)= new Item_func_min(*(yyvsp[-1].item_list)); }
    break;

  case 731:
#line 3057 "sql_yacc.yy"
    { (yyval.item)= new Item_func_log((yyvsp[-1].item)); }
    break;

  case 732:
#line 3059 "sql_yacc.yy"
    { (yyval.item)= new Item_func_log((yyvsp[-3].item), (yyvsp[-1].item)); }
    break;

  case 733:
#line 3061 "sql_yacc.yy"
    {
	    (yyval.item)= new Item_master_pos_wait((yyvsp[-3].item), (yyvsp[-1].item));
	    Lex->safe_to_cache_query=0;
		  }
    break;

  case 734:
#line 3066 "sql_yacc.yy"
    {
	    (yyval.item)= new Item_master_pos_wait((yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].item));
	    Lex->safe_to_cache_query=0;
	  }
    break;

  case 735:
#line 3071 "sql_yacc.yy"
    { (yyval.item)= new Item_func_microsecond((yyvsp[-1].item)); }
    break;

  case 736:
#line 3073 "sql_yacc.yy"
    { (yyval.item)= new Item_func_minute((yyvsp[-1].item)); }
    break;

  case 737:
#line 3075 "sql_yacc.yy"
    { (yyval.item) = new Item_func_mod( (yyvsp[-3].item), (yyvsp[-1].item)); }
    break;

  case 738:
#line 3077 "sql_yacc.yy"
    { (yyval.item)= new Item_func_month((yyvsp[-1].item)); }
    break;

  case 739:
#line 3079 "sql_yacc.yy"
    { (yyval.item)= new Item_func_now_local(); Lex->safe_to_cache_query=0;}
    break;

  case 740:
#line 3081 "sql_yacc.yy"
    { (yyval.item)= new Item_func_now_local((yyvsp[-1].item)); Lex->safe_to_cache_query=0;}
    break;

  case 741:
#line 3083 "sql_yacc.yy"
    {
	    (yyval.item)= YYTHD->variables.old_passwords ?
              (Item *) new Item_func_old_password((yyvsp[-1].item)) :
	      (Item *) new Item_func_password((yyvsp[-1].item));
	  }
    break;

  case 742:
#line 3089 "sql_yacc.yy"
    { (yyval.item)=  new Item_func_old_password((yyvsp[-1].item)); }
    break;

  case 743:
#line 3091 "sql_yacc.yy"
    { (yyval.item) = new Item_func_locate((yyvsp[-1].item),(yyvsp[-3].item)); }
    break;

  case 744:
#line 3093 "sql_yacc.yy"
    { (yyval.item)= new Item_func_rand((yyvsp[-1].item)); Lex->uncacheable(UNCACHEABLE_RAND);}
    break;

  case 745:
#line 3095 "sql_yacc.yy"
    { (yyval.item)= new Item_func_rand(); Lex->uncacheable(UNCACHEABLE_RAND);}
    break;

  case 746:
#line 3097 "sql_yacc.yy"
    { (yyval.item)= new Item_func_replace((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); }
    break;

  case 747:
#line 3099 "sql_yacc.yy"
    { (yyval.item)= new Item_func_right((yyvsp[-3].item),(yyvsp[-1].item)); }
    break;

  case 748:
#line 3101 "sql_yacc.yy"
    { (yyval.item)= new Item_func_round((yyvsp[-1].item), new Item_int((char*)"0",0,1),0); }
    break;

  case 749:
#line 3102 "sql_yacc.yy"
    { (yyval.item)= new Item_func_round((yyvsp[-3].item),(yyvsp[-1].item),0); }
    break;

  case 750:
#line 3104 "sql_yacc.yy"
    { (yyval.item)= new Item_date_add_interval((yyvsp[-3].item), (yyvsp[-1].item), INTERVAL_DAY, 1);}
    break;

  case 751:
#line 3106 "sql_yacc.yy"
    { (yyval.item)= new Item_date_add_interval((yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 1); }
    break;

  case 752:
#line 3108 "sql_yacc.yy"
    { (yyval.item)= new Item_func_second((yyvsp[-1].item)); }
    break;

  case 753:
#line 3110 "sql_yacc.yy"
    { (yyval.item)= new Item_func_substr((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); }
    break;

  case 754:
#line 3112 "sql_yacc.yy"
    { (yyval.item)= new Item_func_substr((yyvsp[-3].item),(yyvsp[-1].item)); }
    break;

  case 755:
#line 3114 "sql_yacc.yy"
    { (yyval.item)= new Item_func_substr((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); }
    break;

  case 756:
#line 3116 "sql_yacc.yy"
    { (yyval.item)= new Item_func_substr((yyvsp[-3].item),(yyvsp[-1].item)); }
    break;

  case 757:
#line 3118 "sql_yacc.yy"
    { (yyval.item)= new Item_func_substr_index((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item)); }
    break;

  case 758:
#line 3120 "sql_yacc.yy"
    { (yyval.item)= new Item_time_typecast((yyvsp[-1].item)); }
    break;

  case 759:
#line 3122 "sql_yacc.yy"
    { (yyval.item)= new Item_datetime_typecast((yyvsp[-1].item)); }
    break;

  case 760:
#line 3124 "sql_yacc.yy"
    { (yyval.item)= new Item_func_add_time((yyvsp[-3].item), (yyvsp[-1].item), 1, 0); }
    break;

  case 761:
#line 3126 "sql_yacc.yy"
    { (yyval.item)= new Item_func_trim((yyvsp[-1].item)); }
    break;

  case 762:
#line 3128 "sql_yacc.yy"
    { (yyval.item)= new Item_func_ltrim((yyvsp[-1].item),(yyvsp[-3].item)); }
    break;

  case 763:
#line 3130 "sql_yacc.yy"
    { (yyval.item)= new Item_func_rtrim((yyvsp[-1].item),(yyvsp[-3].item)); }
    break;

  case 764:
#line 3132 "sql_yacc.yy"
    { (yyval.item)= new Item_func_trim((yyvsp[-1].item),(yyvsp[-3].item)); }
    break;

  case 765:
#line 3134 "sql_yacc.yy"
    { (yyval.item)= new Item_func_ltrim((yyvsp[-1].item)); }
    break;

  case 766:
#line 3136 "sql_yacc.yy"
    { (yyval.item)= new Item_func_rtrim((yyvsp[-1].item)); }
    break;

  case 767:
#line 3138 "sql_yacc.yy"
    { (yyval.item)= new Item_func_trim((yyvsp[-1].item)); }
    break;

  case 768:
#line 3140 "sql_yacc.yy"
    { (yyval.item)= new Item_func_trim((yyvsp[-1].item),(yyvsp[-3].item)); }
    break;

  case 769:
#line 3142 "sql_yacc.yy"
    { (yyval.item)= new Item_func_round((yyvsp[-3].item),(yyvsp[-1].item),1); }
    break;

  case 770:
#line 3144 "sql_yacc.yy"
    {
	    if ((yyvsp[-1].item_list) != NULL)
	      (yyval.item) = new Item_sum_udf_str((yyvsp[-3].udf), *(yyvsp[-1].item_list));
	    else
	      (yyval.item) = new Item_sum_udf_str((yyvsp[-3].udf));
	  }
    break;

  case 771:
#line 3151 "sql_yacc.yy"
    {
	    if ((yyvsp[-1].item_list) != NULL)
	      (yyval.item) = new Item_sum_udf_float((yyvsp[-3].udf), *(yyvsp[-1].item_list));
	    else
	      (yyval.item) = new Item_sum_udf_float((yyvsp[-3].udf));
	  }
    break;

  case 772:
#line 3158 "sql_yacc.yy"
    {
	    if ((yyvsp[-1].item_list) != NULL)
	      (yyval.item) = new Item_sum_udf_int((yyvsp[-3].udf), *(yyvsp[-1].item_list));
	    else
	      (yyval.item) = new Item_sum_udf_int((yyvsp[-3].udf));
	  }
    break;

  case 773:
#line 3165 "sql_yacc.yy"
    {
	    if ((yyvsp[-1].item_list) != NULL)
	      (yyval.item) = new Item_func_udf_str((yyvsp[-3].udf), *(yyvsp[-1].item_list));
	    else
	      (yyval.item) = new Item_func_udf_str((yyvsp[-3].udf));
	  }
    break;

  case 774:
#line 3172 "sql_yacc.yy"
    {
	    if ((yyvsp[-1].item_list) != NULL)
	      (yyval.item) = new Item_func_udf_float((yyvsp[-3].udf), *(yyvsp[-1].item_list));
	    else
	      (yyval.item) = new Item_func_udf_float((yyvsp[-3].udf));
	  }
    break;

  case 775:
#line 3179 "sql_yacc.yy"
    {
	    if ((yyvsp[-1].item_list) != NULL)
	      (yyval.item) = new Item_func_udf_int((yyvsp[-3].udf), *(yyvsp[-1].item_list));
	    else
	      (yyval.item) = new Item_func_udf_int((yyvsp[-3].udf));
	  }
    break;

  case 776:
#line 3186 "sql_yacc.yy"
    {
            (yyval.item)= new Item_func_unique_users((yyvsp[-7].item),atoi((yyvsp[-5].lex_str).str),atoi((yyvsp[-3].lex_str).str), * (yyvsp[-1].item_list));
	  }
    break;

  case 777:
#line 3190 "sql_yacc.yy"
    {
	    (yyval.item)= new Item_func_unix_timestamp();
	    Lex->safe_to_cache_query=0;
	  }
    break;

  case 778:
#line 3195 "sql_yacc.yy"
    { (yyval.item)= new Item_func_unix_timestamp((yyvsp[-1].item)); }
    break;

  case 779:
#line 3197 "sql_yacc.yy"
    { (yyval.item)= new Item_func_user(); Lex->safe_to_cache_query=0; }
    break;

  case 780:
#line 3199 "sql_yacc.yy"
    { (yyval.item)= new Item_func_curdate_utc(); Lex->safe_to_cache_query=0;}
    break;

  case 781:
#line 3201 "sql_yacc.yy"
    { (yyval.item)= new Item_func_curtime_utc(); Lex->safe_to_cache_query=0;}
    break;

  case 782:
#line 3203 "sql_yacc.yy"
    { (yyval.item)= new Item_func_now_utc(); Lex->safe_to_cache_query=0;}
    break;

  case 783:
#line 3205 "sql_yacc.yy"
    {
            (yyval.item)= new Item_func_week((yyvsp[-1].item),new Item_int((char*) "0",
				   YYTHD->variables.default_week_format,1));
          }
    break;

  case 784:
#line 3210 "sql_yacc.yy"
    { (yyval.item)= new Item_func_week((yyvsp[-3].item),(yyvsp[-1].item)); }
    break;

  case 785:
#line 3212 "sql_yacc.yy"
    { (yyval.item)= new Item_func_year((yyvsp[-1].item)); }
    break;

  case 786:
#line 3214 "sql_yacc.yy"
    { (yyval.item)= new Item_func_yearweek((yyvsp[-1].item),new Item_int((char*) "0",0,1)); }
    break;

  case 787:
#line 3216 "sql_yacc.yy"
    { (yyval.item)= new Item_func_yearweek((yyvsp[-3].item), (yyvsp[-1].item)); }
    break;

  case 788:
#line 3218 "sql_yacc.yy"
    {
	    (yyval.item)=new Item_func_benchmark((yyvsp[-3].ulong_num),(yyvsp[-1].item));
	    Lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
	  }
    break;

  case 789:
#line 3223 "sql_yacc.yy"
    { (yyval.item)=new Item_extract( (yyvsp[-3].interval), (yyvsp[-1].item)); }
    break;

  case 790:
#line 3227 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-1].item))); }
    break;

  case 791:
#line 3229 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-3].item), (yyvsp[-1].item))); }
    break;

  case 792:
#line 3231 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_wkb((yyvsp[-1].item))); }
    break;

  case 793:
#line 3233 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_wkb((yyvsp[-3].item), (yyvsp[-1].item))); }
    break;

  case 794:
#line 3235 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_spatial_collection(* (yyvsp[-1].item_list),
                           Geometry::wkb_geometrycollection,
                           Geometry::wkb_point)); }
    break;

  case 795:
#line 3239 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_spatial_collection(* (yyvsp[-1].item_list),
                  Geometry::wkb_linestring, Geometry::wkb_point)); }
    break;

  case 796:
#line 3242 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW( Item_func_spatial_collection(* (yyvsp[-1].item_list),
                   Geometry::wkb_multilinestring, Geometry::wkb_linestring)); }
    break;

  case 797:
#line 3245 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-1].item))); }
    break;

  case 798:
#line 3247 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-3].item), (yyvsp[-1].item))); }
    break;

  case 799:
#line 3249 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-1].item))); }
    break;

  case 800:
#line 3251 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-3].item), (yyvsp[-1].item))); }
    break;

  case 801:
#line 3253 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-1].item))); }
    break;

  case 802:
#line 3255 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-3].item), (yyvsp[-1].item))); }
    break;

  case 803:
#line 3257 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_spatial_collection(* (yyvsp[-1].item_list),
                  Geometry::wkb_multipoint, Geometry::wkb_point)); }
    break;

  case 804:
#line 3260 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_spatial_collection(* (yyvsp[-1].item_list),
                  Geometry::wkb_multipolygon, Geometry::wkb_polygon)); }
    break;

  case 805:
#line 3263 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_point((yyvsp[-3].item),(yyvsp[-1].item))); }
    break;

  case 806:
#line 3265 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-1].item))); }
    break;

  case 807:
#line 3267 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-3].item), (yyvsp[-1].item))); }
    break;

  case 808:
#line 3269 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-1].item))); }
    break;

  case 809:
#line 3271 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-3].item), (yyvsp[-1].item))); }
    break;

  case 810:
#line 3273 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_spatial_collection(* (yyvsp[-1].item_list),
	          Geometry::wkb_polygon, Geometry::wkb_linestring)); }
    break;

  case 811:
#line 3276 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-1].item))); }
    break;

  case 812:
#line 3278 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-3].item), (yyvsp[-1].item))); }
    break;

  case 813:
#line 3280 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-1].item))); }
    break;

  case 814:
#line 3282 "sql_yacc.yy"
    { (yyval.item)= GEOM_NEW(Item_func_geometry_from_text((yyvsp[-3].item), (yyvsp[-1].item))); }
    break;

  case 815:
#line 3286 "sql_yacc.yy"
    { (yyval.num)= FT_NL;  }
    break;

  case 816:
#line 3287 "sql_yacc.yy"
    { (yyval.num)= FT_NL | FT_EXPAND; }
    break;

  case 817:
#line 3288 "sql_yacc.yy"
    { (yyval.num)= FT_BOOL; }
    break;

  case 818:
#line 3292 "sql_yacc.yy"
    { (yyval.item_list)= NULL; }
    break;

  case 819:
#line 3293 "sql_yacc.yy"
    { (yyval.item_list)= (yyvsp[0].item_list);}
    break;

  case 820:
#line 3296 "sql_yacc.yy"
    {
	  LEX *lex= Lex;
	  if (lex->current_select->inc_in_sum_expr())
	  {
	    yyerror(ER(ER_SYNTAX_ERROR));
	    YYABORT;
	  }
	}
    break;

  case 821:
#line 3305 "sql_yacc.yy"
    {
	  Select->in_sum_expr--;
	  (yyval.item_list)= (yyvsp[0].item_list);
	}
    break;

  case 822:
#line 3312 "sql_yacc.yy"
    { (yyval.item)=new Item_sum_avg((yyvsp[-1].item)); }
    break;

  case 823:
#line 3314 "sql_yacc.yy"
    { (yyval.item)=new Item_sum_and((yyvsp[-1].item)); }
    break;

  case 824:
#line 3316 "sql_yacc.yy"
    { (yyval.item)=new Item_sum_or((yyvsp[-1].item)); }
    break;

  case 825:
#line 3318 "sql_yacc.yy"
    { (yyval.item)=new Item_sum_xor((yyvsp[-1].item)); }
    break;

  case 826:
#line 3320 "sql_yacc.yy"
    { (yyval.item)=new Item_sum_count(new Item_int((int32) 0L,1)); }
    break;

  case 827:
#line 3322 "sql_yacc.yy"
    { (yyval.item)=new Item_sum_count((yyvsp[-1].item)); }
    break;

  case 828:
#line 3324 "sql_yacc.yy"
    { Select->in_sum_expr++; }
    break;

  case 829:
#line 3326 "sql_yacc.yy"
    { Select->in_sum_expr--; }
    break;

  case 830:
#line 3328 "sql_yacc.yy"
    { (yyval.item)=new Item_sum_count_distinct(* (yyvsp[-2].item_list)); }
    break;

  case 831:
#line 3330 "sql_yacc.yy"
    { (yyval.item)= new Item_sum_unique_users((yyvsp[-7].item),atoi((yyvsp[-5].lex_str).str),atoi((yyvsp[-3].lex_str).str),(yyvsp[-1].item)); }
    break;

  case 832:
#line 3332 "sql_yacc.yy"
    { (yyval.item)=new Item_sum_min((yyvsp[-1].item)); }
    break;

  case 833:
#line 3334 "sql_yacc.yy"
    { (yyval.item)=new Item_sum_max((yyvsp[-1].item)); }
    break;

  case 834:
#line 3336 "sql_yacc.yy"
    { (yyval.item)=new Item_sum_std((yyvsp[-1].item)); }
    break;

  case 835:
#line 3338 "sql_yacc.yy"
    { (yyval.item)=new Item_sum_variance((yyvsp[-1].item)); }
    break;

  case 836:
#line 3340 "sql_yacc.yy"
    { (yyval.item)=new Item_sum_sum((yyvsp[-1].item)); }
    break;

  case 837:
#line 3342 "sql_yacc.yy"
    { Select->in_sum_expr++; }
    break;

  case 838:
#line 3346 "sql_yacc.yy"
    {
	    Select->in_sum_expr--;
	    (yyval.item)=new Item_func_group_concat((yyvsp[-5].num),(yyvsp[-3].item_list),Select->gorder_list,(yyvsp[-1].string));
	    (yyvsp[-3].item_list)->empty();
	  }
    break;

  case 839:
#line 3353 "sql_yacc.yy"
    { (yyval.num) = 0; }
    break;

  case 840:
#line 3354 "sql_yacc.yy"
    { (yyval.num) = 1; }
    break;

  case 841:
#line 3357 "sql_yacc.yy"
    { (yyval.string) = new (YYTHD->mem_root) String(",",1,default_charset_info); }
    break;

  case 842:
#line 3358 "sql_yacc.yy"
    { (yyval.string) = (yyvsp[0].string); }
    break;

  case 843:
#line 3363 "sql_yacc.yy"
    {
            Select->gorder_list = NULL;
	  }
    break;

  case 844:
#line 3367 "sql_yacc.yy"
    {
            SELECT_LEX *select= Select;
            select->gorder_list=
	      (SQL_LIST*) sql_memdup((char*) &select->order_list,
				     sizeof(st_sql_list));
	    select->order_list.empty();
	  }
    break;

  case 845:
#line 3378 "sql_yacc.yy"
    {
	  LEX *lex= Lex;
	  if (lex->current_select->inc_in_sum_expr())
	  {
	    yyerror(ER(ER_SYNTAX_ERROR));
	    YYABORT;
	  }
	}
    break;

  case 846:
#line 3387 "sql_yacc.yy"
    {
	  Select->in_sum_expr--;
	  (yyval.item)= (yyvsp[0].item);
	}
    break;

  case 847:
#line 3393 "sql_yacc.yy"
    { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= &my_charset_bin; }
    break;

  case 848:
#line 3394 "sql_yacc.yy"
    { (yyval.cast_type)=ITEM_CAST_CHAR; }
    break;

  case 849:
#line 3395 "sql_yacc.yy"
    { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= national_charset_info; }
    break;

  case 850:
#line 3396 "sql_yacc.yy"
    { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->length= (char*)0; }
    break;

  case 851:
#line 3397 "sql_yacc.yy"
    { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->length= (char*)0; }
    break;

  case 852:
#line 3398 "sql_yacc.yy"
    { (yyval.cast_type)=ITEM_CAST_UNSIGNED_INT; Lex->charset= NULL; Lex->length= (char*)0; }
    break;

  case 853:
#line 3399 "sql_yacc.yy"
    { (yyval.cast_type)=ITEM_CAST_UNSIGNED_INT; Lex->charset= NULL; Lex->length= (char*)0; }
    break;

  case 854:
#line 3400 "sql_yacc.yy"
    { (yyval.cast_type)=ITEM_CAST_DATE; Lex->charset= NULL; Lex->length= (char*)0; }
    break;

  case 855:
#line 3401 "sql_yacc.yy"
    { (yyval.cast_type)=ITEM_CAST_TIME; Lex->charset= NULL; Lex->length= (char*)0; }
    break;

  case 856:
#line 3402 "sql_yacc.yy"
    { (yyval.cast_type)=ITEM_CAST_DATETIME; Lex->charset= NULL; Lex->length= (char*)0; }
    break;

  case 857:
#line 3406 "sql_yacc.yy"
    { Select->expr_list.push_front(new List<Item>); }
    break;

  case 858:
#line 3408 "sql_yacc.yy"
    { (yyval.item_list)= Select->expr_list.pop(); }
    break;

  case 859:
#line 3411 "sql_yacc.yy"
    { Select->expr_list.head()->push_back((yyvsp[0].item)); }
    break;

  case 860:
#line 3412 "sql_yacc.yy"
    { Select->expr_list.head()->push_back((yyvsp[0].item)); }
    break;

  case 861:
#line 3415 "sql_yacc.yy"
    { (yyval.item_list)= (yyvsp[0].item_list); }
    break;

  case 862:
#line 3416 "sql_yacc.yy"
    { (yyval.item_list)= (yyvsp[-1].item_list); }
    break;

  case 863:
#line 3419 "sql_yacc.yy"
    { Select->expr_list.push_front(new List<Item>); }
    break;

  case 864:
#line 3421 "sql_yacc.yy"
    { (yyval.item_list)= Select->expr_list.pop(); }
    break;

  case 865:
#line 3424 "sql_yacc.yy"
    { Select->expr_list.head()->push_back((yyvsp[0].item)); }
    break;

  case 866:
#line 3425 "sql_yacc.yy"
    { Select->expr_list.head()->push_back((yyvsp[0].item)); }
    break;

  case 867:
#line 3428 "sql_yacc.yy"
    { (yyval.item)= NULL; }
    break;

  case 868:
#line 3429 "sql_yacc.yy"
    { (yyval.item)= (yyvsp[0].item); }
    break;

  case 869:
#line 3432 "sql_yacc.yy"
    { (yyval.item)= NULL; }
    break;

  case 870:
#line 3433 "sql_yacc.yy"
    { (yyval.item)= (yyvsp[0].item); }
    break;

  case 871:
#line 3436 "sql_yacc.yy"
    { Select->when_list.push_front(new List<Item>); }
    break;

  case 872:
#line 3438 "sql_yacc.yy"
    { (yyval.item_list)= Select->when_list.pop(); }
    break;

  case 873:
#line 3442 "sql_yacc.yy"
    {
	    SELECT_LEX *sel=Select;
	    sel->when_list.head()->push_back((yyvsp[-2].item));
	    sel->when_list.head()->push_back((yyvsp[0].item));
	}
    break;

  case 874:
#line 3448 "sql_yacc.yy"
    {
	    SELECT_LEX *sel=Select;
	    sel->when_list.head()->push_back((yyvsp[-2].item));
	    sel->when_list.head()->push_back((yyvsp[0].item));
	  }
    break;

  case 875:
#line 3455 "sql_yacc.yy"
    { (yyval.table_list)=(yyvsp[0].table_list); }
    break;

  case 876:
#line 3456 "sql_yacc.yy"
    { (yyval.table_list)=(yyvsp[0].table_list); }
    break;

  case 877:
#line 3457 "sql_yacc.yy"
    { (yyval.table_list)=(yyvsp[0].table_list); }
    break;

  case 878:
#line 3459 "sql_yacc.yy"
    { (yyval.table_list)=(yyvsp[0].table_list) ; (yyvsp[-2].table_list)->next->straight=1; }
    break;

  case 879:
#line 3461 "sql_yacc.yy"
    { add_join_on((yyvsp[-2].table_list),(yyvsp[0].item)); (yyval.table_list)=(yyvsp[-2].table_list); }
    break;

  case 880:
#line 3464 "sql_yacc.yy"
    {
	    SELECT_LEX *sel= Select;
	    sel->db1=(yyvsp[-3].table_list)->db; sel->table1=(yyvsp[-3].table_list)->alias;
	    sel->db2=(yyvsp[-1].table_list)->db; sel->table2=(yyvsp[-1].table_list)->alias;
	  }
    break;

  case 881:
#line 3470 "sql_yacc.yy"
    { add_join_on((yyvsp[-5].table_list),(yyvsp[-1].item)); (yyval.table_list)=(yyvsp[-5].table_list); }
    break;

  case 882:
#line 3473 "sql_yacc.yy"
    { add_join_on((yyvsp[-2].table_list),(yyvsp[0].item)); (yyvsp[-2].table_list)->outer_join|=JOIN_TYPE_LEFT; (yyval.table_list)=(yyvsp[-2].table_list); }
    break;

  case 883:
#line 3475 "sql_yacc.yy"
    {
	    SELECT_LEX *sel= Select;
	    sel->db1=(yyvsp[-4].table_list)->db; sel->table1=(yyvsp[-4].table_list)->alias;
	    sel->db2=(yyvsp[0].table_list)->db; sel->table2=(yyvsp[0].table_list)->alias;
	  }
    break;

  case 884:
#line 3481 "sql_yacc.yy"
    { add_join_on((yyvsp[-5].table_list),(yyvsp[-1].item)); (yyvsp[-5].table_list)->outer_join|=JOIN_TYPE_LEFT; (yyval.table_list)=(yyvsp[-5].table_list); }
    break;

  case 885:
#line 3483 "sql_yacc.yy"
    {
	    add_join_natural((yyvsp[-5].table_list),(yyvsp[-5].table_list)->next);
	    (yyvsp[-5].table_list)->next->outer_join|=JOIN_TYPE_LEFT;
	    (yyval.table_list)=(yyvsp[0].table_list);
	  }
    break;

  case 886:
#line 3489 "sql_yacc.yy"
    { add_join_on((yyvsp[-6].table_list),(yyvsp[0].item)); (yyvsp[-6].table_list)->outer_join|=JOIN_TYPE_RIGHT; (yyval.table_list)=(yyvsp[-2].table_list); }
    break;

  case 887:
#line 3491 "sql_yacc.yy"
    {
	    SELECT_LEX *sel= Select;
	    sel->db1=(yyvsp[-4].table_list)->db; sel->table1=(yyvsp[-4].table_list)->alias;
	    sel->db2=(yyvsp[0].table_list)->db; sel->table2=(yyvsp[0].table_list)->alias;
	  }
    break;

  case 888:
#line 3497 "sql_yacc.yy"
    { add_join_on((yyvsp[-9].table_list),(yyvsp[-1].item)); (yyvsp[-9].table_list)->outer_join|=JOIN_TYPE_RIGHT; (yyval.table_list)=(yyvsp[-5].table_list); }
    break;

  case 889:
#line 3499 "sql_yacc.yy"
    {
	    add_join_natural((yyvsp[-5].table_list)->next,(yyvsp[-5].table_list));
	    (yyvsp[-5].table_list)->outer_join|=JOIN_TYPE_RIGHT;
	    (yyval.table_list)=(yyvsp[0].table_list);
	  }
    break;

  case 890:
#line 3505 "sql_yacc.yy"
    { add_join_natural((yyvsp[-3].table_list),(yyvsp[-3].table_list)->next); (yyval.table_list)=(yyvsp[0].table_list); }
    break;

  case 891:
#line 3508 "sql_yacc.yy"
    {}
    break;

  case 892:
#line 3509 "sql_yacc.yy"
    {}
    break;

  case 893:
#line 3510 "sql_yacc.yy"
    {}
    break;

  case 894:
#line 3514 "sql_yacc.yy"
    {
	  SELECT_LEX *sel= Select;
	  sel->use_index_ptr=sel->ignore_index_ptr=0;
	  sel->table_join_options= 0;
	}
    break;

  case 895:
#line 3520 "sql_yacc.yy"
    {
	  LEX *lex= Lex;
	  SELECT_LEX *sel= lex->current_select;
	  if (!((yyval.table_list)= sel->add_table_to_list(lex->thd, (yyvsp[-2].table), (yyvsp[-1].lex_str_ptr),
					   sel->get_table_join_options(),
					   lex->lock_option,
					   sel->get_use_index(),
					   sel->get_ignore_index())))
	    YYABORT;
	}
    break;

  case 896:
#line 3531 "sql_yacc.yy"
    { add_join_on((yyvsp[-3].table_list),(yyvsp[-1].item)); (yyvsp[-3].table_list)->outer_join|=JOIN_TYPE_LEFT; (yyval.table_list)=(yyvsp[-3].table_list); }
    break;

  case 897:
#line 3533 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  SELECT_LEX_UNIT *unit= lex->current_select->master_unit();
	  lex->current_select= unit->outer_select();
	  if (!((yyval.table_list)= lex->current_select->
                add_table_to_list(lex->thd, new Table_ident(unit), (yyvsp[0].lex_str_ptr), 0,
				  TL_READ,(List<String> *)0,
	                          (List<String> *)0)))

	    YYABORT;
	}
    break;

  case 898:
#line 3544 "sql_yacc.yy"
    { (yyval.table_list)=(yyvsp[-1].table_list); }
    break;

  case 900:
#line 3549 "sql_yacc.yy"
    {
	    LEX *lex= Lex;
            SELECT_LEX * sel= lex->current_select;
	    if (sel->set_braces(1))
	    {
	      yyerror(ER(ER_SYNTAX_ERROR));
	      YYABORT;
	    }
            /* select in braces, can't contain global parameters */
	    if (sel->master_unit()->fake_select_lex)
              sel->master_unit()->global_parameters=
                 sel->master_unit()->fake_select_lex;
	  }
    break;

  case 901:
#line 3564 "sql_yacc.yy"
    {
	  LEX *lex= Lex;
	  lex->derived_tables= 1;
          if (lex->sql_command == (int)SQLCOM_HA_READ ||
              lex->sql_command == (int)SQLCOM_KILL)
	  {
	    yyerror(ER(ER_SYNTAX_ERROR));
	    YYABORT;
	  }
	  if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE ||
              mysql_new_select(lex, 1))
	    YYABORT;
	  mysql_init_select(lex);
	  lex->current_select->linkage= DERIVED_TABLE_TYPE;
	  lex->current_select->parsing_place= SELECT_LIST;
	}
    break;

  case 902:
#line 3581 "sql_yacc.yy"
    {
	  Select->parsing_place= NO_MATTER;
	}
    break;

  case 904:
#line 3588 "sql_yacc.yy"
    {}
    break;

  case 905:
#line 3589 "sql_yacc.yy"
    {}
    break;

  case 906:
#line 3592 "sql_yacc.yy"
    {}
    break;

  case 907:
#line 3594 "sql_yacc.yy"
    {
	    SELECT_LEX *sel= Select;
	    sel->use_index= *(yyvsp[0].string_list);
	    sel->use_index_ptr= &sel->use_index;
	  }
    break;

  case 908:
#line 3600 "sql_yacc.yy"
    {
	    SELECT_LEX *sel= Select;
	    sel->use_index= *(yyvsp[0].string_list);
	    sel->use_index_ptr= &sel->use_index;
	    sel->table_join_options|= TL_OPTION_FORCE_INDEX;
	  }
    break;

  case 909:
#line 3607 "sql_yacc.yy"
    {
	    SELECT_LEX *sel= Select;
	    sel->ignore_index= *(yyvsp[0].string_list);
	    sel->ignore_index_ptr= &sel->ignore_index;
	  }
    break;

  case 910:
#line 3614 "sql_yacc.yy"
    { Select->interval_list.empty(); }
    break;

  case 911:
#line 3616 "sql_yacc.yy"
    { (yyval.string_list)= &Select->interval_list; }
    break;

  case 912:
#line 3620 "sql_yacc.yy"
    {}
    break;

  case 913:
#line 3621 "sql_yacc.yy"
    {}
    break;

  case 914:
#line 3626 "sql_yacc.yy"
    { Select->
	    interval_list.push_back(new (YYTHD->mem_root) String((const char*) (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length,
				    system_charset_info)); }
    break;

  case 915:
#line 3630 "sql_yacc.yy"
    { Select->
	    interval_list.push_back(new (YYTHD->mem_root) String((const char*) (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length,
				    system_charset_info)); }
    break;

  case 916:
#line 3634 "sql_yacc.yy"
    { Select->
	    interval_list.push_back(new (YYTHD->mem_root) String("PRIMARY", 7,
				    system_charset_info)); }
    break;

  case 917:
#line 3640 "sql_yacc.yy"
    {
	    SELECT_LEX *sel= Select;
	    if (!((yyval.item)= new Item_func_eq(new Item_field(sel->db1, sel->table1,
						      (yyvsp[0].lex_str).str),
				       new Item_field(sel->db2, sel->table2,
						      (yyvsp[0].lex_str).str))))
	      YYABORT;
	  }
    break;

  case 918:
#line 3649 "sql_yacc.yy"
    {
	    SELECT_LEX *sel= Select;
	    if (!((yyval.item)= new Item_cond_and(new Item_func_eq(new Item_field(sel->db1,sel->table1,(yyvsp[0].lex_str).str), new Item_field(sel->db2,sel->table2,(yyvsp[0].lex_str).str)), (yyvsp[-2].item))))
	      YYABORT;
	  }
    break;

  case 919:
#line 3656 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_DAY_HOUR; }
    break;

  case 920:
#line 3657 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_DAY_MICROSECOND; }
    break;

  case 921:
#line 3658 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_DAY_MINUTE; }
    break;

  case 922:
#line 3659 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_DAY_SECOND; }
    break;

  case 923:
#line 3660 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_DAY; }
    break;

  case 924:
#line 3661 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_HOUR_MICROSECOND; }
    break;

  case 925:
#line 3662 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_HOUR_MINUTE; }
    break;

  case 926:
#line 3663 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_HOUR_SECOND; }
    break;

  case 927:
#line 3664 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_HOUR; }
    break;

  case 928:
#line 3665 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_MICROSECOND; }
    break;

  case 929:
#line 3666 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_MINUTE_MICROSECOND; }
    break;

  case 930:
#line 3667 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_MINUTE_SECOND; }
    break;

  case 931:
#line 3668 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_MINUTE; }
    break;

  case 932:
#line 3669 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_MONTH; }
    break;

  case 933:
#line 3670 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_SECOND_MICROSECOND; }
    break;

  case 934:
#line 3671 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_SECOND; }
    break;

  case 935:
#line 3672 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_YEAR_MONTH; }
    break;

  case 936:
#line 3673 "sql_yacc.yy"
    { (yyval.interval)=INTERVAL_YEAR; }
    break;

  case 937:
#line 3677 "sql_yacc.yy"
    {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATE;}
    break;

  case 938:
#line 3678 "sql_yacc.yy"
    {(yyval.date_time_type)=MYSQL_TIMESTAMP_TIME;}
    break;

  case 939:
#line 3679 "sql_yacc.yy"
    {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;}
    break;

  case 940:
#line 3680 "sql_yacc.yy"
    {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;}
    break;

  case 944:
#line 3689 "sql_yacc.yy"
    { (yyval.lex_str_ptr)=0; }
    break;

  case 945:
#line 3691 "sql_yacc.yy"
    { (yyval.lex_str_ptr)= (LEX_STRING*) sql_memdup(&(yyvsp[0].lex_str),sizeof(LEX_STRING)); }
    break;

  case 948:
#line 3699 "sql_yacc.yy"
    { Select->where= 0; }
    break;

  case 949:
#line 3701 "sql_yacc.yy"
    {
            Select->parsing_place= IN_WHERE;
          }
    break;

  case 950:
#line 3705 "sql_yacc.yy"
    {
            SELECT_LEX *select= Select;
	    select->where= (yyvsp[0].item);
            select->parsing_place= NO_MATTER;
	    if ((yyvsp[0].item))
	      (yyvsp[0].item)->top_level_item();
	  }
    break;

  case 952:
#line 3717 "sql_yacc.yy"
    {
	    Select->parsing_place= IN_HAVING;
          }
    break;

  case 953:
#line 3721 "sql_yacc.yy"
    {
	    SELECT_LEX *sel= Select;
	    sel->having= (yyvsp[0].item);
	    sel->parsing_place= NO_MATTER;
	    if ((yyvsp[0].item))
	      (yyvsp[0].item)->top_level_item();
	  }
    break;

  case 954:
#line 3731 "sql_yacc.yy"
    { (yyval.item)= (yyvsp[0].item); }
    break;

  case 955:
#line 3733 "sql_yacc.yy"
    { 
            (yyval.item)= new Item_string("\\", 1, &my_charset_latin1);
          }
    break;

  case 958:
#line 3749 "sql_yacc.yy"
    { if (add_group_to_list(YYTHD, (yyvsp[-1].item),(bool) (yyvsp[0].num))) YYABORT; }
    break;

  case 959:
#line 3751 "sql_yacc.yy"
    { if (add_group_to_list(YYTHD, (yyvsp[-1].item),(bool) (yyvsp[0].num))) YYABORT; }
    break;

  case 960:
#line 3754 "sql_yacc.yy"
    {}
    break;

  case 961:
#line 3756 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE)
	    {
	      net_printf(lex->thd, ER_WRONG_USAGE, "WITH CUBE",
		       "global union parameters");
	      YYABORT;
	    }
	    lex->current_select->olap= CUBE_TYPE;
	    net_printf(lex->thd, ER_NOT_SUPPORTED_YET, "CUBE");
	    YYABORT;	/* To be deleted in 5.1 */
	  }
    break;

  case 962:
#line 3769 "sql_yacc.yy"
    {
	    LEX *lex= Lex;
	    if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE)
	    {
	      net_printf(lex->thd, ER_WRONG_USAGE, "WITH ROLLUP",
		       "global union parameters");
	      YYABORT;
	    }
	    lex->current_select->olap= ROLLUP_TYPE;
	  }
    break;

  case 965:
#line 3791 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
          SELECT_LEX *sel= lex->current_select;
          SELECT_LEX_UNIT *unit= sel-> master_unit();
	  if (sel->linkage != GLOBAL_OPTIONS_TYPE &&
	      sel->olap != UNSPECIFIED_OLAP_TYPE)
	  {
	    net_printf(lex->thd, ER_WRONG_USAGE,
		       "CUBE/ROLLUP",
		       "ORDER BY");
	    YYABORT;
	  }
          if (lex->sql_command != SQLCOM_ALTER_TABLE && !unit->fake_select_lex)
          {
            /*
              A query of the of the form (SELECT ...) ORDER BY order_list is
              executed in the same way as the query
              SELECT ... ORDER BY order_list
              unless the SELECT construct contains ORDER BY or LIMIT clauses.
              Otherwise we create a fake SELECT_LEX if it has not been created
              yet.
            */
            SELECT_LEX *first_sl= unit->first_select();
            if (!first_sl->next_select() &&
                (first_sl->order_list.elements || 
                 first_sl->select_limit != HA_POS_ERROR) &&            
                unit->add_fake_select_lex(lex->thd))
              YYABORT;
          }
	}
    break;

  case 967:
#line 3824 "sql_yacc.yy"
    { if (add_order_to_list(YYTHD, (yyvsp[-1].item),(bool) (yyvsp[0].num))) YYABORT; }
    break;

  case 968:
#line 3826 "sql_yacc.yy"
    { if (add_order_to_list(YYTHD, (yyvsp[-1].item),(bool) (yyvsp[0].num))) YYABORT; }
    break;

  case 969:
#line 3829 "sql_yacc.yy"
    { (yyval.num) =  1; }
    break;

  case 970:
#line 3830 "sql_yacc.yy"
    { (yyval.num) =1; }
    break;

  case 971:
#line 3831 "sql_yacc.yy"
    { (yyval.num) =0; }
    break;

  case 972:
#line 3836 "sql_yacc.yy"
    {
	  LEX *lex= Lex;
	  SELECT_LEX *sel= lex->current_select;
          sel->offset_limit= 0L;
          sel->select_limit= HA_POS_ERROR;
	}
    break;

  case 973:
#line 3842 "sql_yacc.yy"
    {}
    break;

  case 974:
#line 3846 "sql_yacc.yy"
    {}
    break;

  case 975:
#line 3847 "sql_yacc.yy"
    {}
    break;

  case 976:
#line 3851 "sql_yacc.yy"
    {}
    break;

  case 977:
#line 3856 "sql_yacc.yy"
    {
            SELECT_LEX *sel= Select;
            sel->select_limit= (yyvsp[0].ulong_num);
            sel->offset_limit= 0L;
	    sel->explicit_limit= 1;
	  }
    break;

  case 978:
#line 3863 "sql_yacc.yy"
    {
	    SELECT_LEX *sel= Select;
	    sel->select_limit= (yyvsp[0].ulong_num);
	    sel->offset_limit= (yyvsp[-2].ulong_num);
	    sel->explicit_limit= 1;
	  }
    break;

  case 979:
#line 3870 "sql_yacc.yy"
    {
	    SELECT_LEX *sel= Select;
	    sel->select_limit= (yyvsp[-2].ulong_num);
	    sel->offset_limit= (yyvsp[0].ulong_num);
	    sel->explicit_limit= 1;
	  }
    break;

  case 980:
#line 3881 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->current_select->select_limit= HA_POS_ERROR;
	}
    break;

  case 981:
#line 3886 "sql_yacc.yy"
    {
	  SELECT_LEX *sel= Select;
	  sel->select_limit= (ha_rows) (yyvsp[0].ulonglong_number);
	  sel->explicit_limit= 1;
	}
    break;

  case 982:
#line 3893 "sql_yacc.yy"
    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
    break;

  case 983:
#line 3894 "sql_yacc.yy"
    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
    break;

  case 984:
#line 3895 "sql_yacc.yy"
    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
    break;

  case 985:
#line 3896 "sql_yacc.yy"
    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
    break;

  case 986:
#line 3897 "sql_yacc.yy"
    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
    break;

  case 987:
#line 3901 "sql_yacc.yy"
    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
    break;

  case 988:
#line 3902 "sql_yacc.yy"
    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
    break;

  case 989:
#line 3903 "sql_yacc.yy"
    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
    break;

  case 990:
#line 3904 "sql_yacc.yy"
    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
    break;

  case 991:
#line 3905 "sql_yacc.yy"
    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
    break;

  case 993:
#line 3911 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    if (&lex->select_lex != lex->current_select)
	    {
	      net_printf(lex->thd, ER_WRONG_USAGE,
			  "PROCEDURE",
			  "subquery");
	      YYABORT;
	    }
	    lex->proc_list.elements=0;
	    lex->proc_list.first=0;
	    lex->proc_list.next= (byte**) &lex->proc_list.first;
	    if (add_proc_to_list(lex->thd, new Item_field(NULL,NULL,(yyvsp[0].lex_str).str)))
	      YYABORT;
	    Lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
	  }
    break;

  case 995:
#line 3931 "sql_yacc.yy"
    {}
    break;

  case 996:
#line 3932 "sql_yacc.yy"
    {}
    break;

  case 999:
#line 3940 "sql_yacc.yy"
    {
	    LEX *lex= Lex;
	    if (add_proc_to_list(lex->thd, (yyvsp[0].item)))
	      YYABORT;
	    if (!(yyvsp[0].item)->name)
	      (yyvsp[0].item)->set_name((yyvsp[-1].simple_string),(uint) ((char*) lex->tok_end - (yyvsp[-1].simple_string)), YYTHD->charset());
	  }
    break;

  case 1000:
#line 3951 "sql_yacc.yy"
    {
             LEX *lex=Lex;
	     if (!lex->describe && (!(lex->result= new select_dumpvar())))
	        YYABORT;
	   }
    break;

  case 1001:
#line 3957 "sql_yacc.yy"
    {}
    break;

  case 1003:
#line 3962 "sql_yacc.yy"
    {}
    break;

  case 1004:
#line 3966 "sql_yacc.yy"
    {
             LEX *lex=Lex;
	     if (lex->result && ((select_dumpvar *)lex->result)->var_list.push_back((LEX_STRING*) sql_memdup(&(yyvsp[0].lex_str),sizeof(LEX_STRING))))
	       YYABORT;
	   }
    break;

  case 1005:
#line 3975 "sql_yacc.yy"
    {
          LEX *lex= Lex;
          lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
          if (!(lex->exchange= new sql_exchange((yyvsp[0].lex_str).str, 0)) ||
              !(lex->result= new select_export(lex->exchange)))
            YYABORT;
	}
    break;

  case 1007:
#line 3984 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  if (!lex->describe)
	  {
	    lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
	    if (!(lex->exchange= new sql_exchange((yyvsp[0].lex_str).str,1)))
	      YYABORT;
	    if (!(lex->result= new select_dump(lex->exchange)))
	      YYABORT;
	  }
	}
    break;

  case 1008:
#line 3996 "sql_yacc.yy"
    {
	  Lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
	}
    break;

  case 1009:
#line 4006 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->sql_command = SQLCOM_DO;
	  mysql_init_select(lex);
	}
    break;

  case 1010:
#line 4012 "sql_yacc.yy"
    {
	  Lex->insert_list= (yyvsp[0].item_list);
	}
    break;

  case 1011:
#line 4023 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->sql_command = SQLCOM_DROP_TABLE;
	  lex->drop_temporary= (yyvsp[-4].num);
	  lex->drop_if_exists= (yyvsp[-2].num);
	}
    break;

  case 1012:
#line 4029 "sql_yacc.yy"
    {}
    break;

  case 1013:
#line 4030 "sql_yacc.yy"
    {
	     LEX *lex=Lex;
	     lex->sql_command= SQLCOM_DROP_INDEX;
	     lex->alter_info.drop_list.empty();
	     lex->alter_info.drop_list.push_back(new Alter_drop(Alter_drop::KEY,
                                                                (yyvsp[-3].lex_str).str));
	     if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-1].table), NULL,
							TL_OPTION_UPDATING))
	      YYABORT;
	  }
    break;

  case 1014:
#line 4041 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->sql_command= SQLCOM_DROP_DB;
	    lex->drop_if_exists=(yyvsp[-1].num);
	    lex->name=(yyvsp[0].lex_str).str;
	 }
    break;

  case 1015:
#line 4048 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->sql_command = SQLCOM_DROP_FUNCTION;
	    lex->udf.name = (yyvsp[0].lex_str);
	  }
    break;

  case 1016:
#line 4054 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->sql_command = SQLCOM_DROP_USER;
	    lex->users_list.empty();
	  }
    break;

  case 1017:
#line 4060 "sql_yacc.yy"
    {}
    break;

  case 1020:
#line 4070 "sql_yacc.yy"
    {
	  if (!Select->add_table_to_list(YYTHD, (yyvsp[0].table), NULL, TL_OPTION_UPDATING))
	    YYABORT;
	}
    break;

  case 1021:
#line 4077 "sql_yacc.yy"
    { (yyval.num)= 0; }
    break;

  case 1022:
#line 4078 "sql_yacc.yy"
    { (yyval.num)= 1; }
    break;

  case 1023:
#line 4082 "sql_yacc.yy"
    { (yyval.num)= 0; }
    break;

  case 1024:
#line 4083 "sql_yacc.yy"
    { (yyval.num)= 1; }
    break;

  case 1025:
#line 4091 "sql_yacc.yy"
    {
	  LEX *lex= Lex;
	  lex->sql_command= SQLCOM_INSERT;
	  lex->duplicates= DUP_ERROR;
          mysql_init_select(lex);
	  /* for subselects */
          lex->lock_option= (using_update_log) ? TL_READ_NO_INSERT : TL_READ;
	  lex->select_lex.resolve_mode= SELECT_LEX::INSERT_MODE;
	}
    break;

  case 1026:
#line 4101 "sql_yacc.yy"
    {
	  Select->set_lock_for_tables((yyvsp[-2].lock_type));
	  Lex->current_select= &Lex->select_lex;
	}
    break;

  case 1027:
#line 4106 "sql_yacc.yy"
    {}
    break;

  case 1028:
#line 4111 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->sql_command = SQLCOM_REPLACE;
	  lex->duplicates= DUP_REPLACE;
          mysql_init_select(lex);
	  lex->select_lex.resolve_mode= SELECT_LEX::INSERT_MODE;
	}
    break;

  case 1029:
#line 4119 "sql_yacc.yy"
    {
	  Select->set_lock_for_tables((yyvsp[-1].lock_type));
	  Lex->current_select= &Lex->select_lex;
	}
    break;

  case 1030:
#line 4124 "sql_yacc.yy"
    {}
    break;

  case 1031:
#line 4128 "sql_yacc.yy"
    { (yyval.lock_type)= TL_WRITE_CONCURRENT_INSERT; }
    break;

  case 1032:
#line 4129 "sql_yacc.yy"
    { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
    break;

  case 1033:
#line 4130 "sql_yacc.yy"
    { (yyval.lock_type)= TL_WRITE_DELAYED; }
    break;

  case 1034:
#line 4131 "sql_yacc.yy"
    { (yyval.lock_type)= TL_WRITE; }
    break;

  case 1035:
#line 4135 "sql_yacc.yy"
    { (yyval.lock_type)= (yyvsp[0].lock_type); }
    break;

  case 1036:
#line 4136 "sql_yacc.yy"
    { (yyval.lock_type)= TL_WRITE_DELAYED; }
    break;

  case 1037:
#line 4139 "sql_yacc.yy"
    {}
    break;

  case 1038:
#line 4140 "sql_yacc.yy"
    {}
    break;

  case 1039:
#line 4144 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->field_list.empty();
	  lex->many_values.empty();
	  lex->insert_list=0;
	}
    break;

  case 1040:
#line 4152 "sql_yacc.yy"
    {}
    break;

  case 1041:
#line 4153 "sql_yacc.yy"
    {}
    break;

  case 1042:
#line 4154 "sql_yacc.yy"
    {}
    break;

  case 1043:
#line 4156 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    if (!(lex->insert_list = new List_item) ||
		lex->many_values.push_back(lex->insert_list))
	      YYABORT;
	   }
    break;

  case 1045:
#line 4165 "sql_yacc.yy"
    { }
    break;

  case 1046:
#line 4166 "sql_yacc.yy"
    { }
    break;

  case 1047:
#line 4167 "sql_yacc.yy"
    { }
    break;

  case 1048:
#line 4170 "sql_yacc.yy"
    { Lex->field_list.push_back((yyvsp[0].item)); }
    break;

  case 1049:
#line 4171 "sql_yacc.yy"
    { Lex->field_list.push_back((yyvsp[0].item)); }
    break;

  case 1050:
#line 4174 "sql_yacc.yy"
    {}
    break;

  case 1051:
#line 4175 "sql_yacc.yy"
    {}
    break;

  case 1052:
#line 4176 "sql_yacc.yy"
    { Select->set_braces(0);}
    break;

  case 1053:
#line 4176 "sql_yacc.yy"
    {}
    break;

  case 1054:
#line 4177 "sql_yacc.yy"
    { Select->set_braces(1);}
    break;

  case 1055:
#line 4177 "sql_yacc.yy"
    {}
    break;

  case 1060:
#line 4191 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  if (lex->field_list.push_back((yyvsp[-2].item)) ||
	      lex->insert_list->push_back((yyvsp[0].item)))
	    YYABORT;
	 }
    break;

  case 1061:
#line 4198 "sql_yacc.yy"
    {}
    break;

  case 1062:
#line 4199 "sql_yacc.yy"
    {}
    break;

  case 1063:
#line 4203 "sql_yacc.yy"
    {}
    break;

  case 1064:
#line 4204 "sql_yacc.yy"
    {}
    break;

  case 1065:
#line 4209 "sql_yacc.yy"
    {
	    if (!(Lex->insert_list = new List_item))
	      YYABORT;
	 }
    break;

  case 1066:
#line 4214 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  if (lex->many_values.push_back(lex->insert_list))
	    YYABORT;
	 }
    break;

  case 1067:
#line 4221 "sql_yacc.yy"
    {}
    break;

  case 1069:
#line 4226 "sql_yacc.yy"
    {
	  if (Lex->insert_list->push_back((yyvsp[0].item)))
	    YYABORT;
	}
    break;

  case 1070:
#line 4231 "sql_yacc.yy"
    {
	    if (Lex->insert_list->push_back((yyvsp[0].item)))
	      YYABORT;
	  }
    break;

  case 1071:
#line 4238 "sql_yacc.yy"
    { (yyval.item)= (yyvsp[0].item);}
    break;

  case 1072:
#line 4239 "sql_yacc.yy"
    {(yyval.item)= new Item_default_value(); }
    break;

  case 1074:
#line 4244 "sql_yacc.yy"
    { Lex->duplicates= DUP_UPDATE; }
    break;

  case 1076:
#line 4252 "sql_yacc.yy"
    {
	  LEX *lex= Lex;
	  mysql_init_select(lex);
          lex->sql_command= SQLCOM_UPDATE;
	  lex->lock_option= TL_UNLOCK; 	/* Will be set later */
	  lex->duplicates= DUP_ERROR; 
        }
    break;

  case 1077:
#line 4261 "sql_yacc.yy"
    {
	  LEX *lex= Lex;
          if (lex->select_lex.table_list.elements > 1)
	  {
            lex->sql_command= SQLCOM_UPDATE_MULTI;
	    lex->multi_lock_option= (yyvsp[-4].lock_type);
	  }
	  else if (lex->select_lex.get_table_list()->derived)
	  {
	    /* it is single table update and it is update of derived table */
	    net_printf(lex->thd, ER_NON_UPDATABLE_TABLE,
		       lex->select_lex.get_table_list()->alias, "UPDATE");
	    YYABORT;
	  }
	  else
	    Select->set_lock_for_tables((yyvsp[-4].lock_type));
	}
    break;

  case 1078:
#line 4278 "sql_yacc.yy"
    {}
    break;

  case 1081:
#line 4287 "sql_yacc.yy"
    {
	  if (add_item_to_list(YYTHD, (yyvsp[-2].item)) || add_value_to_list(YYTHD, (yyvsp[0].item)))
	    YYABORT;
	}
    break;

  case 1084:
#line 4298 "sql_yacc.yy"
    {
	  LEX *lex= Lex;
	  if (lex->update_list.push_back((yyvsp[-2].item)) || 
	      lex->value_list.push_back((yyvsp[0].item)))
	    YYABORT;
	}
    break;

  case 1085:
#line 4306 "sql_yacc.yy"
    { (yyval.lock_type)= YYTHD->update_lock_default; }
    break;

  case 1086:
#line 4307 "sql_yacc.yy"
    { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
    break;

  case 1087:
#line 4313 "sql_yacc.yy"
    {
	  LEX *lex= Lex;
	  lex->sql_command= SQLCOM_DELETE;
          mysql_init_select(lex);
	  lex->lock_option= lex->thd->update_lock_default;
	  lex->ignore= 0;
	  lex->select_lex.init_order();
	}
    break;

  case 1088:
#line 4321 "sql_yacc.yy"
    {}
    break;

  case 1089:
#line 4326 "sql_yacc.yy"
    {
	  if (!Select->add_table_to_list(YYTHD, (yyvsp[0].table), NULL, TL_OPTION_UPDATING,
					 Lex->lock_option))
	    YYABORT;
	}
    break;

  case 1090:
#line 4332 "sql_yacc.yy"
    {}
    break;

  case 1091:
#line 4333 "sql_yacc.yy"
    {mysql_init_multi_delete(Lex);}
    break;

  case 1092:
#line 4334 "sql_yacc.yy"
    {fix_multi_delete_lex(Lex);}
    break;

  case 1094:
#line 4335 "sql_yacc.yy"
    { mysql_init_multi_delete(Lex);}
    break;

  case 1095:
#line 4336 "sql_yacc.yy"
    {fix_multi_delete_lex(Lex);}
    break;

  case 1096:
#line 4337 "sql_yacc.yy"
    {}
    break;

  case 1097:
#line 4341 "sql_yacc.yy"
    {}
    break;

  case 1098:
#line 4342 "sql_yacc.yy"
    {}
    break;

  case 1099:
#line 4346 "sql_yacc.yy"
    {
	  if (!Select->add_table_to_list(YYTHD, new Table_ident((yyvsp[-2].lex_str)), (yyvsp[0].lex_str_ptr),
					 TL_OPTION_UPDATING | 
                                         TL_OPTION_ALIAS, Lex->lock_option))
	    YYABORT;
        }
    break;

  case 1100:
#line 4353 "sql_yacc.yy"
    {
	    if (!Select->add_table_to_list(YYTHD,
					   new Table_ident(YYTHD, (yyvsp[-4].lex_str), (yyvsp[-2].lex_str), 0),
					   (yyvsp[0].lex_str_ptr), 
                                           TL_OPTION_UPDATING | 
                                           TL_OPTION_ALIAS,
					   Lex->lock_option))
	      YYABORT;
	  }
    break;

  case 1101:
#line 4365 "sql_yacc.yy"
    {}
    break;

  case 1102:
#line 4366 "sql_yacc.yy"
    {}
    break;

  case 1103:
#line 4370 "sql_yacc.yy"
    {}
    break;

  case 1104:
#line 4371 "sql_yacc.yy"
    {}
    break;

  case 1105:
#line 4374 "sql_yacc.yy"
    { Select->options|= OPTION_QUICK; }
    break;

  case 1106:
#line 4375 "sql_yacc.yy"
    { Lex->lock_option= TL_WRITE_LOW_PRIORITY; }
    break;

  case 1107:
#line 4376 "sql_yacc.yy"
    { Lex->ignore= 1; }
    break;

  case 1108:
#line 4380 "sql_yacc.yy"
    {
	  LEX* lex= Lex;
	  lex->sql_command= SQLCOM_TRUNCATE;
	  lex->select_lex.options= 0;
	  lex->select_lex.init_order();
	}
    break;

  case 1111:
#line 4395 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->wild=0;
	  bzero((char*) &lex->create_info,sizeof(lex->create_info));
	}
    break;

  case 1112:
#line 4401 "sql_yacc.yy"
    {}
    break;

  case 1113:
#line 4406 "sql_yacc.yy"
    { Lex->sql_command= SQLCOM_SHOW_DATABASES; }
    break;

  case 1114:
#line 4408 "sql_yacc.yy"
    {
	    LEX *lex= Lex;
	    lex->sql_command= SQLCOM_SHOW_TABLES;
	    lex->select_lex.db= (yyvsp[-1].simple_string);
	   }
    break;

  case 1115:
#line 4414 "sql_yacc.yy"
    {
	    LEX *lex= Lex;
	    lex->sql_command= SQLCOM_SHOW_TABLES;
	    lex->describe= DESCRIBE_EXTENDED;
	    lex->select_lex.db= (yyvsp[-1].simple_string);
	  }
    break;

  case 1116:
#line 4421 "sql_yacc.yy"
    {
	    LEX *lex= Lex;
	    lex->sql_command= SQLCOM_SHOW_OPEN_TABLES;
	    lex->select_lex.db= (yyvsp[-1].simple_string);
	  }
    break;

  case 1117:
#line 4427 "sql_yacc.yy"
    { Lex->create_info.db_type= (yyvsp[0].db_type); }
    break;

  case 1119:
#line 4430 "sql_yacc.yy"
    {
	    Lex->sql_command= SQLCOM_SHOW_FIELDS;
	    if ((yyvsp[-1].simple_string))
	      (yyvsp[-2].table)->change_db((yyvsp[-1].simple_string));
	    if (!Select->add_table_to_list(YYTHD, (yyvsp[-2].table), NULL, 0))
	      YYABORT;
	  }
    break;

  case 1120:
#line 4441 "sql_yacc.yy"
    {
	    Lex->sql_command = SQLCOM_SHOW_NEW_MASTER;
	    Lex->mi.log_file_name = (yyvsp[-8].lex_str).str;
	    Lex->mi.pos = (yyvsp[-4].ulonglong_number);
	    Lex->mi.server_id = (yyvsp[0].ulong_num);
          }
    break;

  case 1121:
#line 4448 "sql_yacc.yy"
    {
	    Lex->sql_command = SQLCOM_SHOW_BINLOGS;
          }
    break;

  case 1122:
#line 4452 "sql_yacc.yy"
    {
	    Lex->sql_command = SQLCOM_SHOW_SLAVE_HOSTS;
          }
    break;

  case 1123:
#line 4456 "sql_yacc.yy"
    {
	    LEX *lex= Lex;
	    lex->sql_command= SQLCOM_SHOW_BINLOG_EVENTS;
          }
    break;

  case 1125:
#line 4461 "sql_yacc.yy"
    {
	    Lex->sql_command= SQLCOM_SHOW_KEYS;
	    if ((yyvsp[0].simple_string))
	      (yyvsp[-1].table)->change_db((yyvsp[0].simple_string));
	    if (!Select->add_table_to_list(YYTHD, (yyvsp[-1].table), NULL, 0))
	      YYABORT;
	  }
    break;

  case 1126:
#line 4469 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->sql_command= SQLCOM_SHOW_COLUMN_TYPES;
	  }
    break;

  case 1127:
#line 4474 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES;
	    WARN_DEPRECATED("SHOW TABLE TYPES", "SHOW [STORAGE] ENGINES");
	  }
    break;

  case 1128:
#line 4480 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES;
	  }
    break;

  case 1129:
#line 4485 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->sql_command= SQLCOM_SHOW_PRIVILEGES;
	  }
    break;

  case 1130:
#line 4490 "sql_yacc.yy"
    { (void) create_select_for_variable("warning_count"); }
    break;

  case 1131:
#line 4492 "sql_yacc.yy"
    { (void) create_select_for_variable("error_count"); }
    break;

  case 1132:
#line 4494 "sql_yacc.yy"
    { Lex->sql_command = SQLCOM_SHOW_WARNS;}
    break;

  case 1133:
#line 4496 "sql_yacc.yy"
    { Lex->sql_command = SQLCOM_SHOW_ERRORS;}
    break;

  case 1134:
#line 4498 "sql_yacc.yy"
    { Lex->sql_command= SQLCOM_SHOW_STATUS; }
    break;

  case 1135:
#line 4500 "sql_yacc.yy"
    { Lex->sql_command = SQLCOM_SHOW_INNODB_STATUS; WARN_DEPRECATED("SHOW INNODB STATUS", "SHOW ENGINE INNODB STATUS"); }
    break;

  case 1136:
#line 4502 "sql_yacc.yy"
    { Lex->sql_command= SQLCOM_SHOW_PROCESSLIST;}
    break;

  case 1137:
#line 4504 "sql_yacc.yy"
    {
	    THD *thd= YYTHD;
	    thd->lex->sql_command= SQLCOM_SHOW_VARIABLES;
	    thd->lex->option_type= (enum_var_type) (yyvsp[-2].num);
	  }
    break;

  case 1138:
#line 4510 "sql_yacc.yy"
    { Lex->sql_command= SQLCOM_SHOW_CHARSETS; }
    break;

  case 1139:
#line 4512 "sql_yacc.yy"
    { Lex->sql_command= SQLCOM_SHOW_COLLATIONS; }
    break;

  case 1140:
#line 4514 "sql_yacc.yy"
    { Lex->sql_command= SQLCOM_SHOW_LOGS; WARN_DEPRECATED("SHOW BDB LOGS", "SHOW ENGINE BDB LOGS"); }
    break;

  case 1141:
#line 4516 "sql_yacc.yy"
    { Lex->sql_command= SQLCOM_SHOW_LOGS; WARN_DEPRECATED("SHOW LOGS", "SHOW ENGINE BDB LOGS"); }
    break;

  case 1142:
#line 4518 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->sql_command= SQLCOM_SHOW_GRANTS;
	    THD *thd= lex->thd;
	    LEX_USER *curr_user;
            if (!(curr_user= (LEX_USER*) thd->alloc(sizeof(st_lex_user))))
              YYABORT;
            curr_user->user.str= thd->priv_user;
            curr_user->user.length= strlen(thd->priv_user);
            if (*thd->priv_host != 0)
            {
              curr_user->host.str= thd->priv_host;
              curr_user->host.length= strlen(thd->priv_host);
            }
            else
            {
              curr_user->host.str= (char *) "%";
              curr_user->host.length= 1;
            }
            curr_user->password.str=NullS;
	    lex->grant_user= curr_user;
	  }
    break;

  case 1143:
#line 4541 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->sql_command= SQLCOM_SHOW_GRANTS;
	    lex->grant_user=(yyvsp[0].lex_user);
	    lex->grant_user->password.str=NullS;
	  }
    break;

  case 1144:
#line 4548 "sql_yacc.yy"
    {
	    Lex->sql_command=SQLCOM_SHOW_CREATE_DB;
	    Lex->create_info.options=(yyvsp[-1].num);
	    Lex->name=(yyvsp[0].lex_str).str;
	  }
    break;

  case 1145:
#line 4554 "sql_yacc.yy"
    {
	    Lex->sql_command = SQLCOM_SHOW_CREATE;
	    if (!Select->add_table_to_list(YYTHD, (yyvsp[0].table), NULL,0))
	      YYABORT;
	  }
    break;

  case 1146:
#line 4560 "sql_yacc.yy"
    {
	    Lex->sql_command = SQLCOM_SHOW_MASTER_STAT;
          }
    break;

  case 1147:
#line 4564 "sql_yacc.yy"
    {
	    Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT;
          }
    break;

  case 1148:
#line 4570 "sql_yacc.yy"
    {
	    switch (Lex->create_info.db_type) {
	    case DB_TYPE_NDBCLUSTER:
	      Lex->sql_command = SQLCOM_SHOW_NDBCLUSTER_STATUS;
	      break;
	    case DB_TYPE_INNODB:
	      Lex->sql_command = SQLCOM_SHOW_INNODB_STATUS;
	      break;
	    default:
	      net_printf(YYTHD, ER_NOT_SUPPORTED_YET, "STATUS");
	      YYABORT;
	    }
	  }
    break;

  case 1149:
#line 4584 "sql_yacc.yy"
    {
	    switch (Lex->create_info.db_type) {
	    case DB_TYPE_BERKELEY_DB:
	      Lex->sql_command = SQLCOM_SHOW_LOGS;
	      break;
	    default:
	      net_printf(YYTHD, ER_NOT_SUPPORTED_YET, "LOGS");
	      YYABORT;
	    }
	  }
    break;

  case 1154:
#line 4604 "sql_yacc.yy"
    { (yyval.simple_string)= 0; }
    break;

  case 1155:
#line 4605 "sql_yacc.yy"
    { (yyval.simple_string)= (yyvsp[0].lex_str).str; }
    break;

  case 1157:
#line 4610 "sql_yacc.yy"
    { Lex->wild=  new (YYTHD->mem_root) String((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length,
                                                      system_charset_info); }
    break;

  case 1158:
#line 4614 "sql_yacc.yy"
    { Lex->verbose=0; }
    break;

  case 1159:
#line 4615 "sql_yacc.yy"
    { Lex->verbose=1; }
    break;

  case 1162:
#line 4622 "sql_yacc.yy"
    { Lex->mi.log_file_name = 0; }
    break;

  case 1163:
#line 4623 "sql_yacc.yy"
    { Lex->mi.log_file_name = (yyvsp[0].lex_str).str; }
    break;

  case 1164:
#line 4626 "sql_yacc.yy"
    { Lex->mi.pos = 4; /* skip magic number */ }
    break;

  case 1165:
#line 4627 "sql_yacc.yy"
    { Lex->mi.pos = (yyvsp[0].ulonglong_number); }
    break;

  case 1166:
#line 4633 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->wild=0;
	  lex->verbose=0;
	  lex->sql_command=SQLCOM_SHOW_FIELDS;
	  if (!Select->add_table_to_list(lex->thd, (yyvsp[0].table), NULL,0))
	    YYABORT;
	}
    break;

  case 1167:
#line 4641 "sql_yacc.yy"
    {}
    break;

  case 1168:
#line 4643 "sql_yacc.yy"
    { Lex->describe|= DESCRIBE_NORMAL; }
    break;

  case 1169:
#line 4645 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    lex->select_lex.options|= SELECT_DESCRIBE;
	  }
    break;

  case 1172:
#line 4656 "sql_yacc.yy"
    {}
    break;

  case 1173:
#line 4657 "sql_yacc.yy"
    { Lex->describe|= DESCRIBE_EXTENDED; }
    break;

  case 1174:
#line 4661 "sql_yacc.yy"
    {}
    break;

  case 1175:
#line 4662 "sql_yacc.yy"
    { Lex->wild= (yyvsp[0].string); }
    break;

  case 1176:
#line 4664 "sql_yacc.yy"
    { Lex->wild= new (YYTHD->mem_root) String((const char*) (yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,system_charset_info); }
    break;

  case 1177:
#line 4671 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->sql_command= SQLCOM_FLUSH; lex->type=0;
          lex->no_write_to_binlog= (yyvsp[0].num);
	}
    break;

  case 1178:
#line 4677 "sql_yacc.yy"
    {}
    break;

  case 1181:
#line 4685 "sql_yacc.yy"
    { Lex->type|= REFRESH_TABLES; }
    break;

  case 1182:
#line 4685 "sql_yacc.yy"
    {}
    break;

  case 1183:
#line 4686 "sql_yacc.yy"
    { Lex->type|= REFRESH_TABLES | REFRESH_READ_LOCK; }
    break;

  case 1184:
#line 4687 "sql_yacc.yy"
    { Lex->type|= REFRESH_QUERY_CACHE_FREE; }
    break;

  case 1185:
#line 4688 "sql_yacc.yy"
    { Lex->type|= REFRESH_HOSTS; }
    break;

  case 1186:
#line 4689 "sql_yacc.yy"
    { Lex->type|= REFRESH_GRANT; }
    break;

  case 1187:
#line 4690 "sql_yacc.yy"
    { Lex->type|= REFRESH_LOG; }
    break;

  case 1188:
#line 4691 "sql_yacc.yy"
    { Lex->type|= REFRESH_STATUS; }
    break;

  case 1189:
#line 4692 "sql_yacc.yy"
    { Lex->type|= REFRESH_SLAVE; }
    break;

  case 1190:
#line 4693 "sql_yacc.yy"
    { Lex->type|= REFRESH_MASTER; }
    break;

  case 1191:
#line 4694 "sql_yacc.yy"
    { Lex->type|= REFRESH_DES_KEY_FILE; }
    break;

  case 1192:
#line 4695 "sql_yacc.yy"
    { Lex->type|= REFRESH_USER_RESOURCES; }
    break;

  case 1193:
#line 4698 "sql_yacc.yy"
    {;}
    break;

  case 1194:
#line 4699 "sql_yacc.yy"
    {;}
    break;

  case 1195:
#line 4703 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->sql_command= SQLCOM_RESET; lex->type=0;
	}
    break;

  case 1196:
#line 4707 "sql_yacc.yy"
    {}
    break;

  case 1199:
#line 4715 "sql_yacc.yy"
    { Lex->type|= REFRESH_SLAVE; }
    break;

  case 1200:
#line 4716 "sql_yacc.yy"
    { Lex->type|= REFRESH_MASTER; }
    break;

  case 1201:
#line 4717 "sql_yacc.yy"
    { Lex->type|= REFRESH_QUERY_CACHE;}
    break;

  case 1202:
#line 4721 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->type=0;
	}
    break;

  case 1203:
#line 4725 "sql_yacc.yy"
    {}
    break;

  case 1205:
#line 4734 "sql_yacc.yy"
    {
	   Lex->sql_command = SQLCOM_PURGE;
	   Lex->to_log = (yyvsp[0].lex_str).str;
        }
    break;

  case 1206:
#line 4739 "sql_yacc.yy"
    {
	  if (!(yyvsp[0].item))
	    /* Can only be an out of memory situation, no need for a message */
	    YYABORT;
	  if ((yyvsp[0].item)->fix_fields(Lex->thd, 0, &(yyvsp[0].item)) || (yyvsp[0].item)->check_cols(1))
	  {
	    net_printf(Lex->thd, ER_WRONG_ARGUMENTS, "PURGE LOGS BEFORE");
	    YYABORT;
	  }
	  Item *tmp= new Item_func_unix_timestamp((yyvsp[0].item));
	  /*
	    it is OK only emulate fix_fieds, because we need only
            value of constant
	  */
	  tmp->quick_fix_field();
	  Lex->sql_command = SQLCOM_PURGE_BEFORE;
	  Lex->purge_time= (ulong) tmp->val_int();
	}
    break;

  case 1207:
#line 4762 "sql_yacc.yy"
    { Lex->sql_command= SQLCOM_KILL; }
    break;

  case 1208:
#line 4763 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  if ((yyvsp[0].item)->fix_fields(lex->thd, 0, &(yyvsp[0].item)) || (yyvsp[0].item)->check_cols(1))
	  {
	    send_error(lex->thd, ER_SET_CONSTANTS_ONLY);
	    YYABORT;
	  }
	  lex->thread_id= (ulong) (yyvsp[0].item)->val_int();
	}
    break;

  case 1209:
#line 4776 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->sql_command=SQLCOM_CHANGE_DB;
	  lex->select_lex.db= (yyvsp[0].lex_str).str;
	}
    break;

  case 1210:
#line 4785 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->sql_command= SQLCOM_LOAD;
	  lex->lock_option= (yyvsp[-3].lock_type);
	  lex->local_file=  (yyvsp[-2].num);
	  lex->duplicates= DUP_ERROR;
	  lex->ignore= 0;
	  if (!(lex->exchange= new sql_exchange((yyvsp[0].lex_str).str,0)))
	    YYABORT;
	  lex->field_list.empty();
	}
    break;

  case 1211:
#line 4798 "sql_yacc.yy"
    {
	  if (!Select->add_table_to_list(YYTHD, (yyvsp[-4].table), NULL, TL_OPTION_UPDATING))
	    YYABORT;
	}
    break;

  case 1212:
#line 4804 "sql_yacc.yy"
    {
	  Lex->sql_command = SQLCOM_LOAD_MASTER_TABLE;
	  WARN_DEPRECATED("LOAD TABLE FROM MASTER", "mysqldump or future BACKUP/RESTORE DATABASE facility");
	  if (!Select->add_table_to_list(YYTHD, (yyvsp[-2].table), NULL, TL_OPTION_UPDATING))
	    YYABORT;
	  
        }
    break;

  case 1213:
#line 4813 "sql_yacc.yy"
    {
	  Lex->sql_command = SQLCOM_LOAD_MASTER_DATA;
	  WARN_DEPRECATED("LOAD DATA FROM MASTER", "mysqldump or future BACKUP/RESTORE DATABASE facility");
        }
    break;

  case 1214:
#line 4819 "sql_yacc.yy"
    { (yyval.num)=0;}
    break;

  case 1215:
#line 4820 "sql_yacc.yy"
    { (yyval.num)=1;}
    break;

  case 1216:
#line 4823 "sql_yacc.yy"
    { (yyval.lock_type)= YYTHD->update_lock_default; }
    break;

  case 1217:
#line 4824 "sql_yacc.yy"
    { (yyval.lock_type)= TL_WRITE_CONCURRENT_INSERT ; }
    break;

  case 1218:
#line 4825 "sql_yacc.yy"
    { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
    break;

  case 1219:
#line 4829 "sql_yacc.yy"
    { Lex->duplicates=DUP_ERROR; }
    break;

  case 1220:
#line 4830 "sql_yacc.yy"
    { Lex->duplicates=DUP_REPLACE; }
    break;

  case 1221:
#line 4831 "sql_yacc.yy"
    { Lex->ignore= 1; }
    break;

  case 1226:
#line 4843 "sql_yacc.yy"
    {
            DBUG_ASSERT(Lex->exchange);
            Lex->exchange->field_term= (yyvsp[0].string);
          }
    break;

  case 1227:
#line 4848 "sql_yacc.yy"
    {
            LEX *lex= Lex;
            DBUG_ASSERT(lex->exchange);
            lex->exchange->enclosed= (yyvsp[0].string);
            lex->exchange->opt_enclosed= 1;
	  }
    break;

  case 1228:
#line 4855 "sql_yacc.yy"
    {
            DBUG_ASSERT(Lex->exchange);
            Lex->exchange->enclosed= (yyvsp[0].string);
          }
    break;

  case 1229:
#line 4860 "sql_yacc.yy"
    {
            DBUG_ASSERT(Lex->exchange);
            Lex->exchange->escaped= (yyvsp[0].string);
          }
    break;

  case 1234:
#line 4875 "sql_yacc.yy"
    {
            DBUG_ASSERT(Lex->exchange);
            Lex->exchange->line_term= (yyvsp[0].string);
          }
    break;

  case 1235:
#line 4880 "sql_yacc.yy"
    {
            DBUG_ASSERT(Lex->exchange);
            Lex->exchange->line_start= (yyvsp[0].string);
          }
    break;

  case 1237:
#line 4888 "sql_yacc.yy"
    {
            DBUG_ASSERT(Lex->exchange);
            Lex->exchange->skip_lines= atol((yyvsp[-1].lex_str).str);
          }
    break;

  case 1238:
#line 4897 "sql_yacc.yy"
    {
	  THD *thd= YYTHD;
	  (yyval.item) = new Item_string((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,thd->variables.collation_connection);
	}
    break;

  case 1239:
#line 4902 "sql_yacc.yy"
    { (yyval.item)=  new Item_string((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,national_charset_info); }
    break;

  case 1240:
#line 4904 "sql_yacc.yy"
    { (yyval.item) = new Item_string((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,Lex->underscore_charset); }
    break;

  case 1241:
#line 4906 "sql_yacc.yy"
    { ((Item_string*) (yyvsp[-1].item))->append((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length); }
    break;

  case 1242:
#line 4911 "sql_yacc.yy"
    { (yyval.string)=  new (YYTHD->mem_root) String((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,YYTHD->variables.collation_connection); }
    break;

  case 1243:
#line 4913 "sql_yacc.yy"
    {
	    Item *tmp = new Item_varbinary((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length);
	    /*
	      it is OK only emulate fix_fieds, because we need only
              value of constant
	    */
	    (yyval.string)= tmp ?
	      tmp->quick_fix_field(), tmp->val_str((String*) 0) :
	      (String*) 0;
	  }
    break;

  case 1244:
#line 4927 "sql_yacc.yy"
    {
          THD *thd=YYTHD;
	  LEX *lex= thd->lex;
          Item_param *item= new Item_param((uint) (lex->tok_start -
                                                   (uchar *) thd->query));
          if (!((yyval.item)= item) || lex->param_list.push_back(item))
          {
            send_error(thd, ER_OUT_OF_RESOURCES);
            YYABORT;
          }
        }
    break;

  case 1245:
#line 4941 "sql_yacc.yy"
    { (yyval.item) = (yyvsp[0].item); }
    break;

  case 1246:
#line 4942 "sql_yacc.yy"
    { (yyval.item) = (yyvsp[0].item_num); }
    break;

  case 1247:
#line 4944 "sql_yacc.yy"
    {
	    (yyvsp[0].item_num)->max_length++;
	    (yyval.item)= (yyvsp[0].item_num)->neg();
	  }
    break;

  case 1248:
#line 4952 "sql_yacc.yy"
    { (yyval.item) =	(yyvsp[0].item); }
    break;

  case 1249:
#line 4953 "sql_yacc.yy"
    { (yyval.item) = (yyvsp[0].item_num); }
    break;

  case 1250:
#line 4954 "sql_yacc.yy"
    { (yyval.item) =	new Item_null();
			  Lex->next_state=MY_LEX_OPERATOR_OR_IDENT;}
    break;

  case 1251:
#line 4956 "sql_yacc.yy"
    { (yyval.item)= new Item_int((char*) "FALSE",0,1); }
    break;

  case 1252:
#line 4957 "sql_yacc.yy"
    { (yyval.item)= new Item_int((char*) "TRUE",1,1); }
    break;

  case 1253:
#line 4958 "sql_yacc.yy"
    { (yyval.item) =	new Item_varbinary((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length);}
    break;

  case 1254:
#line 4960 "sql_yacc.yy"
    {
	    Item *tmp= new Item_varbinary((yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length);
	    /*
	      it is OK only emulate fix_fieds, because we need only
              value of constant
	    */
	    String *str= tmp ?
	      tmp->quick_fix_field(), tmp->val_str((String*) 0) :
	      (String*) 0;
	    (yyval.item)= new Item_string(str ? str->ptr() : "",
				str ? str->length() : 0,
				Lex->underscore_charset);
	  }
    break;

  case 1255:
#line 4973 "sql_yacc.yy"
    { (yyval.item) = (yyvsp[0].item); }
    break;

  case 1256:
#line 4974 "sql_yacc.yy"
    { (yyval.item) = (yyvsp[0].item); }
    break;

  case 1257:
#line 4975 "sql_yacc.yy"
    { (yyval.item) = (yyvsp[0].item); }
    break;

  case 1258:
#line 4978 "sql_yacc.yy"
    { int error; (yyval.item_num) = new Item_int((yyvsp[0].lex_str).str, (longlong) my_strtoll10((yyvsp[0].lex_str).str, NULL, &error), (yyvsp[0].lex_str).length); }
    break;

  case 1259:
#line 4979 "sql_yacc.yy"
    { int error; (yyval.item_num) = new Item_int((yyvsp[0].lex_str).str, (longlong) my_strtoll10((yyvsp[0].lex_str).str, NULL, &error), (yyvsp[0].lex_str).length); }
    break;

  case 1260:
#line 4980 "sql_yacc.yy"
    { (yyval.item_num) =	new Item_uint((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); }
    break;

  case 1261:
#line 4981 "sql_yacc.yy"
    { (yyval.item_num) =	new Item_real((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); }
    break;

  case 1262:
#line 4982 "sql_yacc.yy"
    { (yyval.item_num) =	new Item_float((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); }
    break;

  case 1263:
#line 4990 "sql_yacc.yy"
    { (yyval.item)=(yyvsp[0].item); }
    break;

  case 1264:
#line 4991 "sql_yacc.yy"
    { (yyval.item)=(yyvsp[0].item); }
    break;

  case 1265:
#line 4995 "sql_yacc.yy"
    {
	  (yyval.item) = new Item_field(NullS,(yyvsp[-2].lex_str).str,"*");
	  Lex->current_select->with_wild++;
	}
    break;

  case 1266:
#line 5000 "sql_yacc.yy"
    {
	  (yyval.item) = new Item_field((YYTHD->client_capabilities &
   			     CLIENT_NO_SCHEMA ? NullS : (yyvsp[-4].lex_str).str),
			     (yyvsp[-2].lex_str).str,"*");
	  Lex->current_select->with_wild++;
	}
    break;

  case 1267:
#line 5009 "sql_yacc.yy"
    { (yyval.item)=(yyvsp[0].item); }
    break;

  case 1268:
#line 5013 "sql_yacc.yy"
    {
	  SELECT_LEX *sel=Select;
	  (yyval.item)= (sel->parsing_place != IN_HAVING ||
	       sel->get_in_sum_expr() > 0) ?
              (Item*) new Item_field(NullS,NullS,(yyvsp[0].lex_str).str) :
	      (Item*) new Item_ref(NullS, NullS, (yyvsp[0].lex_str).str);
	}
    break;

  case 1269:
#line 5021 "sql_yacc.yy"
    {
	  THD *thd= YYTHD;
	  LEX *lex= thd->lex;
	  SELECT_LEX *sel= lex->current_select;
	  if (sel->no_table_names_allowed)
	  {
	    my_printf_error(ER_TABLENAME_NOT_ALLOWED_HERE,
			    ER(ER_TABLENAME_NOT_ALLOWED_HERE),
			    MYF(0), (yyvsp[-2].lex_str).str, thd->where);
	  }
	  (yyval.item)= (sel->parsing_place != IN_HAVING ||
	       sel->get_in_sum_expr() > 0) ?
	      (Item*) new Item_field(NullS,(yyvsp[-2].lex_str).str,(yyvsp[0].lex_str).str) :
	      (Item*) new Item_ref(NullS, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
	}
    break;

  case 1270:
#line 5037 "sql_yacc.yy"
    {
	  THD *thd= YYTHD;
	  LEX *lex= thd->lex;
	  SELECT_LEX *sel= lex->current_select;
	  if (sel->no_table_names_allowed)
	  {
	    my_printf_error(ER_TABLENAME_NOT_ALLOWED_HERE,
			    ER(ER_TABLENAME_NOT_ALLOWED_HERE),
			    MYF(0), (yyvsp[-2].lex_str).str, thd->where);
	  }
	  (yyval.item)= (sel->parsing_place != IN_HAVING ||
	       sel->get_in_sum_expr() > 0) ?
	      (Item*) new Item_field(NullS,(yyvsp[-2].lex_str).str,(yyvsp[0].lex_str).str) :
              (Item*) new Item_ref(NullS, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
	}
    break;

  case 1271:
#line 5053 "sql_yacc.yy"
    {
	  THD *thd= YYTHD;
	  LEX *lex= thd->lex;
	  SELECT_LEX *sel= lex->current_select;
	  if (sel->no_table_names_allowed)
	  {
	    my_printf_error(ER_TABLENAME_NOT_ALLOWED_HERE,
			    ER(ER_TABLENAME_NOT_ALLOWED_HERE),
			    MYF(0), (yyvsp[-2].lex_str).str, thd->where);
	  }
	  (yyval.item)= (sel->parsing_place != IN_HAVING ||
	       sel->get_in_sum_expr() > 0) ?
	      (Item*) new Item_field((YYTHD->client_capabilities &
				      CLIENT_NO_SCHEMA ? NullS : (yyvsp[-4].lex_str).str),
				     (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str) :
	      (Item*) new Item_ref((YYTHD->client_capabilities &
				    CLIENT_NO_SCHEMA ? NullS : (yyvsp[-4].lex_str).str),
                                   (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
	}
    break;

  case 1272:
#line 5075 "sql_yacc.yy"
    { (yyval.lex_str)=(yyvsp[0].lex_str);}
    break;

  case 1273:
#line 5077 "sql_yacc.yy"
    {
            TABLE_LIST *table= (TABLE_LIST*) Select->table_list.first;
            if (my_strcasecmp(table_alias_charset, (yyvsp[-4].lex_str).str, table->db))
            {
              net_printf(YYTHD, ER_WRONG_DB_NAME, (yyvsp[-4].lex_str).str);
              YYABORT;
            }
            if (my_strcasecmp(table_alias_charset, (yyvsp[-2].lex_str).str, table->real_name))
            {
              net_printf(YYTHD, ER_WRONG_TABLE_NAME, (yyvsp[-2].lex_str).str);
              YYABORT;
            }
            (yyval.lex_str)=(yyvsp[0].lex_str);
          }
    break;

  case 1274:
#line 5092 "sql_yacc.yy"
    {
            TABLE_LIST *table= (TABLE_LIST*) Select->table_list.first;
            if (my_strcasecmp(table_alias_charset, (yyvsp[-2].lex_str).str, table->alias))
            {
              net_printf(YYTHD, ER_WRONG_TABLE_NAME, (yyvsp[-2].lex_str).str);
              YYABORT;
            }
            (yyval.lex_str)=(yyvsp[0].lex_str);
          }
    break;

  case 1275:
#line 5101 "sql_yacc.yy"
    { (yyval.lex_str)=(yyvsp[0].lex_str);}
    break;

  case 1276:
#line 5104 "sql_yacc.yy"
    { (yyval.table)=new Table_ident((yyvsp[0].lex_str)); }
    break;

  case 1277:
#line 5105 "sql_yacc.yy"
    { (yyval.table)=new Table_ident(YYTHD, (yyvsp[-2].lex_str),(yyvsp[0].lex_str),0);}
    break;

  case 1278:
#line 5106 "sql_yacc.yy"
    { (yyval.table)=new Table_ident((yyvsp[0].lex_str));}
    break;

  case 1279:
#line 5110 "sql_yacc.yy"
    { LEX_STRING db={(char*) any_db,3}; (yyval.table)=new Table_ident(YYTHD, db,(yyvsp[0].lex_str),0); }
    break;

  case 1280:
#line 5114 "sql_yacc.yy"
    { (yyval.lex_str)= (yyvsp[0].lex_str); }
    break;

  case 1281:
#line 5116 "sql_yacc.yy"
    {
	    THD *thd= YYTHD;
	    if (thd->charset_is_system_charset)
            {
              CHARSET_INFO *cs= system_charset_info;
              int dummy_error;
              uint wlen= cs->cset->well_formed_len(cs, (yyvsp[0].lex_str).str,
                                                   (yyvsp[0].lex_str).str+(yyvsp[0].lex_str).length,
                                                   (yyvsp[0].lex_str).length, &dummy_error);
              if (wlen < (yyvsp[0].lex_str).length)
              {
                net_printf(YYTHD, ER_INVALID_CHARACTER_STRING, cs->csname,
                           (yyvsp[0].lex_str).str + wlen);
                YYABORT;
              }
	      (yyval.lex_str)= (yyvsp[0].lex_str);
            }
	    else
	      thd->convert_string(&(yyval.lex_str), system_charset_info,
				  (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset());
	  }
    break;

  case 1282:
#line 5141 "sql_yacc.yy"
    {
	  THD *thd= YYTHD;
	  if (thd->charset_is_system_charset)
	    (yyval.lex_str)= (yyvsp[0].lex_str);
	  else
	    thd->convert_string(&(yyval.lex_str), system_charset_info,
				(yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset());
	}
    break;

  case 1283:
#line 5153 "sql_yacc.yy"
    {
	  THD *thd= YYTHD;
	  if (thd->charset_is_collation_connection)
	    (yyval.lex_str)= (yyvsp[0].lex_str);
	  else
	    thd->convert_string(&(yyval.lex_str), thd->variables.collation_connection,
				(yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset());
	}
    break;

  case 1284:
#line 5165 "sql_yacc.yy"
    { (yyval.lex_str)=(yyvsp[0].lex_str); }
    break;

  case 1285:
#line 5167 "sql_yacc.yy"
    {
	  THD *thd= YYTHD;
	  (yyval.lex_str).str=    thd->strmake((yyvsp[0].symbol).str, (yyvsp[0].symbol).length);
	  (yyval.lex_str).length= (yyvsp[0].symbol).length;
	}
    break;

  case 1286:
#line 5175 "sql_yacc.yy"
    { (yyval.lex_str)=(yyvsp[0].lex_str);}
    break;

  case 1287:
#line 5176 "sql_yacc.yy"
    { (yyval.lex_str)=(yyvsp[0].lex_str);}
    break;

  case 1288:
#line 5177 "sql_yacc.yy"
    { (yyval.lex_str)=(yyvsp[0].lex_str);}
    break;

  case 1289:
#line 5181 "sql_yacc.yy"
    {
	  THD *thd= YYTHD;
	  if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
	    YYABORT;
	  (yyval.lex_user)->user = (yyvsp[0].lex_str);
	  (yyval.lex_user)->host.str= (char *) "%";
	  (yyval.lex_user)->host.length= 1;
	}
    break;

  case 1290:
#line 5190 "sql_yacc.yy"
    {
	    THD *thd= YYTHD;
	    if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
	      YYABORT;
	    (yyval.lex_user)->user = (yyvsp[-2].lex_str); (yyval.lex_user)->host=(yyvsp[0].lex_str);
	  }
    break;

  case 1291:
#line 5197 "sql_yacc.yy"
    {
          THD *thd= YYTHD;
          if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
            YYABORT;
          (yyval.lex_user)->user.str= thd->priv_user;
          (yyval.lex_user)->user.length= strlen(thd->priv_user);
          if (*thd->priv_host != 0)
          {
            (yyval.lex_user)->host.str= thd->priv_host;
            (yyval.lex_user)->host.length= strlen(thd->priv_host);
          }
          else
          {
            (yyval.lex_user)->host.str= (char *) "%";
            (yyval.lex_user)->host.length= 1;
          }
	}
    break;

  case 1292:
#line 5218 "sql_yacc.yy"
    {}
    break;

  case 1293:
#line 5219 "sql_yacc.yy"
    {}
    break;

  case 1294:
#line 5220 "sql_yacc.yy"
    {}
    break;

  case 1295:
#line 5221 "sql_yacc.yy"
    {}
    break;

  case 1296:
#line 5222 "sql_yacc.yy"
    {}
    break;

  case 1297:
#line 5223 "sql_yacc.yy"
    {}
    break;

  case 1298:
#line 5224 "sql_yacc.yy"
    {}
    break;

  case 1299:
#line 5225 "sql_yacc.yy"
    {}
    break;

  case 1300:
#line 5226 "sql_yacc.yy"
    {}
    break;

  case 1301:
#line 5227 "sql_yacc.yy"
    {}
    break;

  case 1302:
#line 5228 "sql_yacc.yy"
    {}
    break;

  case 1303:
#line 5229 "sql_yacc.yy"
    {}
    break;

  case 1304:
#line 5230 "sql_yacc.yy"
    {}
    break;

  case 1305:
#line 5231 "sql_yacc.yy"
    {}
    break;

  case 1306:
#line 5232 "sql_yacc.yy"
    {}
    break;

  case 1307:
#line 5233 "sql_yacc.yy"
    {}
    break;

  case 1308:
#line 5234 "sql_yacc.yy"
    {}
    break;

  case 1309:
#line 5235 "sql_yacc.yy"
    {}
    break;

  case 1310:
#line 5236 "sql_yacc.yy"
    {}
    break;

  case 1311:
#line 5237 "sql_yacc.yy"
    {}
    break;

  case 1312:
#line 5238 "sql_yacc.yy"
    {}
    break;

  case 1313:
#line 5239 "sql_yacc.yy"
    {}
    break;

  case 1314:
#line 5240 "sql_yacc.yy"
    {}
    break;

  case 1315:
#line 5241 "sql_yacc.yy"
    {}
    break;

  case 1316:
#line 5242 "sql_yacc.yy"
    {}
    break;

  case 1317:
#line 5243 "sql_yacc.yy"
    {}
    break;

  case 1318:
#line 5244 "sql_yacc.yy"
    {}
    break;

  case 1319:
#line 5245 "sql_yacc.yy"
    {}
    break;

  case 1320:
#line 5246 "sql_yacc.yy"
    {}
    break;

  case 1321:
#line 5247 "sql_yacc.yy"
    {}
    break;

  case 1322:
#line 5248 "sql_yacc.yy"
    {}
    break;

  case 1323:
#line 5249 "sql_yacc.yy"
    {}
    break;

  case 1324:
#line 5250 "sql_yacc.yy"
    {}
    break;

  case 1325:
#line 5251 "sql_yacc.yy"
    {}
    break;

  case 1326:
#line 5252 "sql_yacc.yy"
    {}
    break;

  case 1327:
#line 5253 "sql_yacc.yy"
    {}
    break;

  case 1328:
#line 5254 "sql_yacc.yy"
    {}
    break;

  case 1329:
#line 5255 "sql_yacc.yy"
    {}
    break;

  case 1330:
#line 5256 "sql_yacc.yy"
    {}
    break;

  case 1331:
#line 5257 "sql_yacc.yy"
    {}
    break;

  case 1332:
#line 5258 "sql_yacc.yy"
    {}
    break;

  case 1333:
#line 5259 "sql_yacc.yy"
    {}
    break;

  case 1334:
#line 5260 "sql_yacc.yy"
    {}
    break;

  case 1335:
#line 5261 "sql_yacc.yy"
    {}
    break;

  case 1336:
#line 5262 "sql_yacc.yy"
    {}
    break;

  case 1337:
#line 5263 "sql_yacc.yy"
    {}
    break;

  case 1338:
#line 5264 "sql_yacc.yy"
    {}
    break;

  case 1339:
#line 5265 "sql_yacc.yy"
    {}
    break;

  case 1340:
#line 5266 "sql_yacc.yy"
    {}
    break;

  case 1341:
#line 5267 "sql_yacc.yy"
    {}
    break;

  case 1342:
#line 5268 "sql_yacc.yy"
    {}
    break;

  case 1343:
#line 5269 "sql_yacc.yy"
    {}
    break;

  case 1344:
#line 5270 "sql_yacc.yy"
    {}
    break;

  case 1345:
#line 5271 "sql_yacc.yy"
    {}
    break;

  case 1346:
#line 5272 "sql_yacc.yy"
    {}
    break;

  case 1347:
#line 5273 "sql_yacc.yy"
    {}
    break;

  case 1348:
#line 5274 "sql_yacc.yy"
    {}
    break;

  case 1349:
#line 5275 "sql_yacc.yy"
    {}
    break;

  case 1350:
#line 5276 "sql_yacc.yy"
    {}
    break;

  case 1351:
#line 5277 "sql_yacc.yy"
    {}
    break;

  case 1352:
#line 5278 "sql_yacc.yy"
    {}
    break;

  case 1353:
#line 5279 "sql_yacc.yy"
    {}
    break;

  case 1354:
#line 5280 "sql_yacc.yy"
    {}
    break;

  case 1355:
#line 5281 "sql_yacc.yy"
    {}
    break;

  case 1356:
#line 5282 "sql_yacc.yy"
    {}
    break;

  case 1357:
#line 5283 "sql_yacc.yy"
    {}
    break;

  case 1358:
#line 5284 "sql_yacc.yy"
    {}
    break;

  case 1359:
#line 5285 "sql_yacc.yy"
    {}
    break;

  case 1360:
#line 5286 "sql_yacc.yy"
    {}
    break;

  case 1361:
#line 5287 "sql_yacc.yy"
    {}
    break;

  case 1362:
#line 5288 "sql_yacc.yy"
    {}
    break;

  case 1363:
#line 5289 "sql_yacc.yy"
    {}
    break;

  case 1364:
#line 5290 "sql_yacc.yy"
    {}
    break;

  case 1365:
#line 5291 "sql_yacc.yy"
    {}
    break;

  case 1366:
#line 5292 "sql_yacc.yy"
    {}
    break;

  case 1367:
#line 5293 "sql_yacc.yy"
    {}
    break;

  case 1368:
#line 5294 "sql_yacc.yy"
    {}
    break;

  case 1369:
#line 5295 "sql_yacc.yy"
    {}
    break;

  case 1370:
#line 5296 "sql_yacc.yy"
    {}
    break;

  case 1371:
#line 5297 "sql_yacc.yy"
    {}
    break;

  case 1372:
#line 5298 "sql_yacc.yy"
    {}
    break;

  case 1373:
#line 5299 "sql_yacc.yy"
    {}
    break;

  case 1374:
#line 5300 "sql_yacc.yy"
    {}
    break;

  case 1375:
#line 5301 "sql_yacc.yy"
    {}
    break;

  case 1376:
#line 5302 "sql_yacc.yy"
    {}
    break;

  case 1377:
#line 5303 "sql_yacc.yy"
    {}
    break;

  case 1378:
#line 5304 "sql_yacc.yy"
    {}
    break;

  case 1379:
#line 5305 "sql_yacc.yy"
    {}
    break;

  case 1380:
#line 5306 "sql_yacc.yy"
    {}
    break;

  case 1381:
#line 5307 "sql_yacc.yy"
    {}
    break;

  case 1382:
#line 5308 "sql_yacc.yy"
    {}
    break;

  case 1383:
#line 5309 "sql_yacc.yy"
    {}
    break;

  case 1384:
#line 5310 "sql_yacc.yy"
    {}
    break;

  case 1385:
#line 5311 "sql_yacc.yy"
    {}
    break;

  case 1386:
#line 5312 "sql_yacc.yy"
    {}
    break;

  case 1387:
#line 5313 "sql_yacc.yy"
    {}
    break;

  case 1388:
#line 5314 "sql_yacc.yy"
    {}
    break;

  case 1389:
#line 5315 "sql_yacc.yy"
    {}
    break;

  case 1390:
#line 5316 "sql_yacc.yy"
    {}
    break;

  case 1391:
#line 5317 "sql_yacc.yy"
    {}
    break;

  case 1392:
#line 5318 "sql_yacc.yy"
    {}
    break;

  case 1393:
#line 5319 "sql_yacc.yy"
    {}
    break;

  case 1394:
#line 5320 "sql_yacc.yy"
    {}
    break;

  case 1395:
#line 5321 "sql_yacc.yy"
    {}
    break;

  case 1396:
#line 5322 "sql_yacc.yy"
    {}
    break;

  case 1397:
#line 5323 "sql_yacc.yy"
    {}
    break;

  case 1398:
#line 5324 "sql_yacc.yy"
    {}
    break;

  case 1399:
#line 5325 "sql_yacc.yy"
    {}
    break;

  case 1400:
#line 5326 "sql_yacc.yy"
    {}
    break;

  case 1401:
#line 5327 "sql_yacc.yy"
    {}
    break;

  case 1402:
#line 5328 "sql_yacc.yy"
    {}
    break;

  case 1403:
#line 5329 "sql_yacc.yy"
    {}
    break;

  case 1404:
#line 5330 "sql_yacc.yy"
    {}
    break;

  case 1405:
#line 5331 "sql_yacc.yy"
    {}
    break;

  case 1406:
#line 5332 "sql_yacc.yy"
    {}
    break;

  case 1407:
#line 5333 "sql_yacc.yy"
    {}
    break;

  case 1408:
#line 5334 "sql_yacc.yy"
    {}
    break;

  case 1409:
#line 5335 "sql_yacc.yy"
    {}
    break;

  case 1410:
#line 5336 "sql_yacc.yy"
    {}
    break;

  case 1411:
#line 5337 "sql_yacc.yy"
    {}
    break;

  case 1412:
#line 5338 "sql_yacc.yy"
    {}
    break;

  case 1413:
#line 5339 "sql_yacc.yy"
    {}
    break;

  case 1414:
#line 5340 "sql_yacc.yy"
    {}
    break;

  case 1415:
#line 5341 "sql_yacc.yy"
    {}
    break;

  case 1416:
#line 5342 "sql_yacc.yy"
    {}
    break;

  case 1417:
#line 5343 "sql_yacc.yy"
    {}
    break;

  case 1418:
#line 5344 "sql_yacc.yy"
    {}
    break;

  case 1419:
#line 5345 "sql_yacc.yy"
    {}
    break;

  case 1420:
#line 5346 "sql_yacc.yy"
    {}
    break;

  case 1421:
#line 5347 "sql_yacc.yy"
    {}
    break;

  case 1422:
#line 5348 "sql_yacc.yy"
    {}
    break;

  case 1423:
#line 5349 "sql_yacc.yy"
    {}
    break;

  case 1424:
#line 5350 "sql_yacc.yy"
    {}
    break;

  case 1425:
#line 5351 "sql_yacc.yy"
    {}
    break;

  case 1426:
#line 5352 "sql_yacc.yy"
    {}
    break;

  case 1427:
#line 5353 "sql_yacc.yy"
    {}
    break;

  case 1428:
#line 5354 "sql_yacc.yy"
    {}
    break;

  case 1429:
#line 5355 "sql_yacc.yy"
    {}
    break;

  case 1430:
#line 5356 "sql_yacc.yy"
    {}
    break;

  case 1431:
#line 5357 "sql_yacc.yy"
    {}
    break;

  case 1432:
#line 5358 "sql_yacc.yy"
    {}
    break;

  case 1433:
#line 5359 "sql_yacc.yy"
    {}
    break;

  case 1434:
#line 5360 "sql_yacc.yy"
    {}
    break;

  case 1435:
#line 5361 "sql_yacc.yy"
    {}
    break;

  case 1436:
#line 5362 "sql_yacc.yy"
    {}
    break;

  case 1437:
#line 5363 "sql_yacc.yy"
    {}
    break;

  case 1438:
#line 5364 "sql_yacc.yy"
    {}
    break;

  case 1439:
#line 5365 "sql_yacc.yy"
    {}
    break;

  case 1440:
#line 5366 "sql_yacc.yy"
    {}
    break;

  case 1441:
#line 5367 "sql_yacc.yy"
    {}
    break;

  case 1442:
#line 5368 "sql_yacc.yy"
    {}
    break;

  case 1443:
#line 5369 "sql_yacc.yy"
    {}
    break;

  case 1444:
#line 5370 "sql_yacc.yy"
    {}
    break;

  case 1445:
#line 5371 "sql_yacc.yy"
    {}
    break;

  case 1446:
#line 5372 "sql_yacc.yy"
    {}
    break;

  case 1447:
#line 5373 "sql_yacc.yy"
    {}
    break;

  case 1448:
#line 5374 "sql_yacc.yy"
    {}
    break;

  case 1449:
#line 5375 "sql_yacc.yy"
    {}
    break;

  case 1450:
#line 5376 "sql_yacc.yy"
    {}
    break;

  case 1451:
#line 5377 "sql_yacc.yy"
    {}
    break;

  case 1452:
#line 5378 "sql_yacc.yy"
    {}
    break;

  case 1453:
#line 5379 "sql_yacc.yy"
    {}
    break;

  case 1454:
#line 5380 "sql_yacc.yy"
    {}
    break;

  case 1455:
#line 5381 "sql_yacc.yy"
    {}
    break;

  case 1456:
#line 5382 "sql_yacc.yy"
    {}
    break;

  case 1457:
#line 5383 "sql_yacc.yy"
    {}
    break;

  case 1458:
#line 5384 "sql_yacc.yy"
    {}
    break;

  case 1459:
#line 5385 "sql_yacc.yy"
    {}
    break;

  case 1460:
#line 5386 "sql_yacc.yy"
    {}
    break;

  case 1461:
#line 5387 "sql_yacc.yy"
    {}
    break;

  case 1462:
#line 5388 "sql_yacc.yy"
    {}
    break;

  case 1463:
#line 5389 "sql_yacc.yy"
    {}
    break;

  case 1464:
#line 5390 "sql_yacc.yy"
    {}
    break;

  case 1465:
#line 5391 "sql_yacc.yy"
    {}
    break;

  case 1466:
#line 5392 "sql_yacc.yy"
    {}
    break;

  case 1467:
#line 5393 "sql_yacc.yy"
    {}
    break;

  case 1468:
#line 5394 "sql_yacc.yy"
    {}
    break;

  case 1469:
#line 5395 "sql_yacc.yy"
    {}
    break;

  case 1470:
#line 5396 "sql_yacc.yy"
    {}
    break;

  case 1471:
#line 5397 "sql_yacc.yy"
    {}
    break;

  case 1472:
#line 5398 "sql_yacc.yy"
    {}
    break;

  case 1473:
#line 5399 "sql_yacc.yy"
    {}
    break;

  case 1474:
#line 5400 "sql_yacc.yy"
    {}
    break;

  case 1475:
#line 5401 "sql_yacc.yy"
    {}
    break;

  case 1476:
#line 5402 "sql_yacc.yy"
    {}
    break;

  case 1477:
#line 5403 "sql_yacc.yy"
    {}
    break;

  case 1478:
#line 5404 "sql_yacc.yy"
    {}
    break;

  case 1479:
#line 5405 "sql_yacc.yy"
    {}
    break;

  case 1480:
#line 5406 "sql_yacc.yy"
    {}
    break;

  case 1481:
#line 5407 "sql_yacc.yy"
    {}
    break;

  case 1482:
#line 5408 "sql_yacc.yy"
    {}
    break;

  case 1483:
#line 5409 "sql_yacc.yy"
    {}
    break;

  case 1484:
#line 5410 "sql_yacc.yy"
    {}
    break;

  case 1485:
#line 5411 "sql_yacc.yy"
    {}
    break;

  case 1486:
#line 5412 "sql_yacc.yy"
    {}
    break;

  case 1487:
#line 5413 "sql_yacc.yy"
    {}
    break;

  case 1488:
#line 5414 "sql_yacc.yy"
    {}
    break;

  case 1489:
#line 5415 "sql_yacc.yy"
    {}
    break;

  case 1490:
#line 5416 "sql_yacc.yy"
    {}
    break;

  case 1491:
#line 5417 "sql_yacc.yy"
    {}
    break;

  case 1492:
#line 5418 "sql_yacc.yy"
    {}
    break;

  case 1493:
#line 5419 "sql_yacc.yy"
    {}
    break;

  case 1494:
#line 5420 "sql_yacc.yy"
    {}
    break;

  case 1495:
#line 5421 "sql_yacc.yy"
    {}
    break;

  case 1496:
#line 5422 "sql_yacc.yy"
    {}
    break;

  case 1497:
#line 5423 "sql_yacc.yy"
    {}
    break;

  case 1498:
#line 5424 "sql_yacc.yy"
    {}
    break;

  case 1499:
#line 5425 "sql_yacc.yy"
    {}
    break;

  case 1500:
#line 5426 "sql_yacc.yy"
    {}
    break;

  case 1501:
#line 5433 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->sql_command= SQLCOM_SET_OPTION;
          mysql_init_select(lex);
	  lex->option_type=OPT_SESSION;
	  lex->var_list.empty();
          lex->one_shot_set= 0;
	}
    break;

  case 1502:
#line 5442 "sql_yacc.yy"
    {}
    break;

  case 1503:
#line 5446 "sql_yacc.yy"
    {}
    break;

  case 1504:
#line 5447 "sql_yacc.yy"
    {}
    break;

  case 1507:
#line 5454 "sql_yacc.yy"
    {}
    break;

  case 1508:
#line 5455 "sql_yacc.yy"
    {}
    break;

  case 1509:
#line 5459 "sql_yacc.yy"
    {}
    break;

  case 1510:
#line 5460 "sql_yacc.yy"
    { Lex->option_type= OPT_GLOBAL; }
    break;

  case 1511:
#line 5461 "sql_yacc.yy"
    { Lex->option_type= OPT_SESSION; }
    break;

  case 1512:
#line 5462 "sql_yacc.yy"
    { Lex->option_type= OPT_SESSION; }
    break;

  case 1513:
#line 5466 "sql_yacc.yy"
    {}
    break;

  case 1514:
#line 5467 "sql_yacc.yy"
    { Lex->option_type= OPT_SESSION; Lex->one_shot_set= 1; }
    break;

  case 1515:
#line 5471 "sql_yacc.yy"
    { (yyval.num)=OPT_SESSION; }
    break;

  case 1516:
#line 5472 "sql_yacc.yy"
    { (yyval.num)=OPT_GLOBAL; }
    break;

  case 1517:
#line 5473 "sql_yacc.yy"
    { (yyval.num)=OPT_SESSION; }
    break;

  case 1518:
#line 5474 "sql_yacc.yy"
    { (yyval.num)=OPT_SESSION; }
    break;

  case 1519:
#line 5478 "sql_yacc.yy"
    { (yyval.num)=OPT_DEFAULT; }
    break;

  case 1520:
#line 5479 "sql_yacc.yy"
    { (yyval.num)=OPT_GLOBAL; }
    break;

  case 1521:
#line 5480 "sql_yacc.yy"
    { (yyval.num)=OPT_SESSION; }
    break;

  case 1522:
#line 5481 "sql_yacc.yy"
    { (yyval.num)=OPT_SESSION; }
    break;

  case 1523:
#line 5486 "sql_yacc.yy"
    {
          LEX *lex=Lex;
          lex->var_list.push_back(new set_var(lex->option_type, (yyvsp[-2].variable).var,
                                  &(yyvsp[-2].variable).base_name, (yyvsp[0].item)));
        }
    break;

  case 1524:
#line 5492 "sql_yacc.yy"
    {
          LEX *lex=Lex;
          LEX_STRING tmp;
          tmp.str=0;
          tmp.length=0;
          lex->var_list.push_back(new set_var(lex->option_type,
                                              find_sys_var("tx_isolation"),
                                              &tmp,
                                              new Item_int((int32) (yyvsp[0].tx_isolation))));
        }
    break;

  case 1525:
#line 5506 "sql_yacc.yy"
    {
	  Lex->var_list.push_back(new set_var_user(new Item_func_set_user_var((yyvsp[-2].lex_str),(yyvsp[0].item))));
	}
    break;

  case 1526:
#line 5510 "sql_yacc.yy"
    {
          LEX *lex=Lex;
          lex->var_list.push_back(new set_var((enum_var_type) (yyvsp[-3].num), (yyvsp[-2].variable).var,
                                  &(yyvsp[-2].variable).base_name, (yyvsp[0].item)));
        }
    break;

  case 1527:
#line 5516 "sql_yacc.yy"
    {
	  THD *thd= YYTHD;
	  LEX *lex= Lex;
	  (yyvsp[0].charset)= (yyvsp[0].charset) ? (yyvsp[0].charset): global_system_variables.character_set_client;
	  lex->var_list.push_back(new set_var_collation_client((yyvsp[0].charset),thd->variables.collation_database,(yyvsp[0].charset)));
	}
    break;

  case 1528:
#line 5523 "sql_yacc.yy"
    {
	  THD *thd= YYTHD;
	  LEX *lex= Lex;
	  (yyvsp[-1].charset)= (yyvsp[-1].charset) ? (yyvsp[-1].charset) : global_system_variables.character_set_client;
	  (yyvsp[0].charset)= (yyvsp[0].charset) ? (yyvsp[0].charset) : (yyvsp[-1].charset);
	  if (!my_charset_same((yyvsp[-1].charset),(yyvsp[0].charset)))
	  {
	    net_printf(thd,ER_COLLATION_CHARSET_MISMATCH,(yyvsp[0].charset)->name,(yyvsp[-1].charset)->csname);
	    YYABORT;
	  }
	  lex->var_list.push_back(new set_var_collation_client((yyvsp[0].charset),(yyvsp[0].charset),(yyvsp[0].charset)));
	}
    break;

  case 1529:
#line 5536 "sql_yacc.yy"
    {
	    THD *thd=YYTHD;
	    LEX_USER *user;
	    if (!(user=(LEX_USER*) thd->alloc(sizeof(LEX_USER))))
	      YYABORT;
	    user->host.str=0;
	    user->user.str=thd->priv_user;
	    thd->lex->var_list.push_back(new set_var_password(user, (yyvsp[0].simple_string)));
	  }
    break;

  case 1530:
#line 5546 "sql_yacc.yy"
    {
	    Lex->var_list.push_back(new set_var_password((yyvsp[-2].lex_user),(yyvsp[0].simple_string)));
	  }
    break;

  case 1531:
#line 5553 "sql_yacc.yy"
    {
	  sys_var *tmp=find_sys_var((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
	  if (!tmp)
	    YYABORT;
	  (yyval.variable).var= tmp;
	  (yyval.variable).base_name.str=0;
	  (yyval.variable).base_name.length=0;
          /*
            If this is time_zone variable we should open time zone
            describing tables 
          */
          if (tmp == &sys_time_zone)
	    Lex->time_zone_tables_used= &fake_time_zone_tables_list;
	}
    break;

  case 1532:
#line 5568 "sql_yacc.yy"
    {
            if (check_reserved_words(&(yyvsp[-2].lex_str)))
            {
	      yyerror(ER(ER_SYNTAX_ERROR));
              YYABORT;
            }
	    sys_var *tmp=find_sys_var((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
	    if (!tmp)
	      YYABORT;
	    if (!tmp->is_struct())
	      net_printf(YYTHD, ER_VARIABLE_IS_NOT_STRUCT, (yyvsp[0].lex_str).str);
	    (yyval.variable).var= tmp;
	    (yyval.variable).base_name= (yyvsp[-2].lex_str);
	  }
    break;

  case 1533:
#line 5583 "sql_yacc.yy"
    {
	    sys_var *tmp=find_sys_var((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
	    if (!tmp)
	      YYABORT;
	    if (!tmp->is_struct())
	      net_printf(YYTHD, ER_VARIABLE_IS_NOT_STRUCT, (yyvsp[0].lex_str).str);
	    (yyval.variable).var= tmp;
	    (yyval.variable).base_name.str=    (char*) "default";
	    (yyval.variable).base_name.length= 7;
	  }
    break;

  case 1534:
#line 5596 "sql_yacc.yy"
    { (yyval.tx_isolation)= ISO_READ_UNCOMMITTED; }
    break;

  case 1535:
#line 5597 "sql_yacc.yy"
    { (yyval.tx_isolation)= ISO_READ_COMMITTED; }
    break;

  case 1536:
#line 5598 "sql_yacc.yy"
    { (yyval.tx_isolation)= ISO_REPEATABLE_READ; }
    break;

  case 1537:
#line 5599 "sql_yacc.yy"
    { (yyval.tx_isolation)= ISO_SERIALIZABLE; }
    break;

  case 1538:
#line 5603 "sql_yacc.yy"
    { (yyval.simple_string)=(yyvsp[0].lex_str).str;}
    break;

  case 1539:
#line 5605 "sql_yacc.yy"
    {
	    (yyval.simple_string)= (yyvsp[-1].lex_str).length ? YYTHD->variables.old_passwords ?
	        Item_func_old_password::alloc(YYTHD, (yyvsp[-1].lex_str).str) :
	        Item_func_password::alloc(YYTHD, (yyvsp[-1].lex_str).str) :
	      (yyvsp[-1].lex_str).str;
	  }
    break;

  case 1540:
#line 5612 "sql_yacc.yy"
    {
	    (yyval.simple_string)= (yyvsp[-1].lex_str).length ? Item_func_old_password::alloc(YYTHD, (yyvsp[-1].lex_str).str) :
	      (yyvsp[-1].lex_str).str;
	  }
    break;

  case 1541:
#line 5620 "sql_yacc.yy"
    { (yyval.item)=(yyvsp[0].item); }
    break;

  case 1542:
#line 5621 "sql_yacc.yy"
    { (yyval.item)=0; }
    break;

  case 1543:
#line 5622 "sql_yacc.yy"
    { (yyval.item)=new Item_string("ON",  2, system_charset_info); }
    break;

  case 1544:
#line 5623 "sql_yacc.yy"
    { (yyval.item)=new Item_string("ALL", 3, system_charset_info); }
    break;

  case 1545:
#line 5624 "sql_yacc.yy"
    { (yyval.item)=new Item_string("binary", 6, system_charset_info); }
    break;

  case 1546:
#line 5632 "sql_yacc.yy"
    {
	  Lex->sql_command=SQLCOM_LOCK_TABLES;
	}
    break;

  case 1547:
#line 5636 "sql_yacc.yy"
    {}
    break;

  case 1552:
#line 5649 "sql_yacc.yy"
    {
	  if (!Select->add_table_to_list(YYTHD, (yyvsp[-2].table), (yyvsp[-1].lex_str_ptr), 0, (thr_lock_type) (yyvsp[0].num)))
	   YYABORT;
	}
    break;

  case 1553:
#line 5656 "sql_yacc.yy"
    { (yyval.num)=TL_READ_NO_INSERT; }
    break;

  case 1554:
#line 5657 "sql_yacc.yy"
    { (yyval.num)=YYTHD->update_lock_default; }
    break;

  case 1555:
#line 5658 "sql_yacc.yy"
    { (yyval.num)=TL_WRITE_LOW_PRIORITY; }
    break;

  case 1556:
#line 5659 "sql_yacc.yy"
    { (yyval.num)= TL_READ; }
    break;

  case 1557:
#line 5663 "sql_yacc.yy"
    { Lex->sql_command=SQLCOM_UNLOCK_TABLES; }
    break;

  case 1558:
#line 5673 "sql_yacc.yy"
    {
	  LEX *lex= Lex;
	  lex->sql_command = SQLCOM_HA_OPEN;
	  if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-2].table), (yyvsp[0].lex_str_ptr), 0))
	    YYABORT;
	}
    break;

  case 1559:
#line 5680 "sql_yacc.yy"
    {
	  LEX *lex= Lex;
	  lex->sql_command = SQLCOM_HA_CLOSE;
	  if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-1].table), 0, 0))
	    YYABORT;
	}
    break;

  case 1560:
#line 5687 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->sql_command = SQLCOM_HA_READ;
	  lex->ha_rkey_mode= HA_READ_KEY_EXACT;	/* Avoid purify warnings */
	  lex->current_select->select_limit= 1;
	  lex->current_select->offset_limit= 0L;
	  if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-1].table), 0, 0))
	    YYABORT;
        }
    break;

  case 1561:
#line 5696 "sql_yacc.yy"
    {}
    break;

  case 1562:
#line 5700 "sql_yacc.yy"
    { Lex->backup_dir= 0; }
    break;

  case 1563:
#line 5701 "sql_yacc.yy"
    { Lex->backup_dir= (yyvsp[-1].lex_str).str; }
    break;

  case 1564:
#line 5705 "sql_yacc.yy"
    { Lex->ha_read_mode = RFIRST; }
    break;

  case 1565:
#line 5706 "sql_yacc.yy"
    { Lex->ha_read_mode = RNEXT;  }
    break;

  case 1566:
#line 5710 "sql_yacc.yy"
    { Lex->ha_read_mode = RFIRST; }
    break;

  case 1567:
#line 5711 "sql_yacc.yy"
    { Lex->ha_read_mode = RNEXT;  }
    break;

  case 1568:
#line 5712 "sql_yacc.yy"
    { Lex->ha_read_mode = RPREV;  }
    break;

  case 1569:
#line 5713 "sql_yacc.yy"
    { Lex->ha_read_mode = RLAST;  }
    break;

  case 1570:
#line 5715 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->ha_read_mode = RKEY;
	  lex->ha_rkey_mode=(yyvsp[0].ha_rkey_mode);
	  if (!(lex->insert_list = new List_item))
	    YYABORT;
	}
    break;

  case 1571:
#line 5721 "sql_yacc.yy"
    { }
    break;

  case 1572:
#line 5725 "sql_yacc.yy"
    { (yyval.ha_rkey_mode)=HA_READ_KEY_EXACT;   }
    break;

  case 1573:
#line 5726 "sql_yacc.yy"
    { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_NEXT; }
    break;

  case 1574:
#line 5727 "sql_yacc.yy"
    { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_PREV; }
    break;

  case 1575:
#line 5728 "sql_yacc.yy"
    { (yyval.ha_rkey_mode)=HA_READ_AFTER_KEY;   }
    break;

  case 1576:
#line 5729 "sql_yacc.yy"
    { (yyval.ha_rkey_mode)=HA_READ_BEFORE_KEY;  }
    break;

  case 1577:
#line 5736 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->sql_command = SQLCOM_REVOKE;
	  lex->users_list.empty();
	  lex->columns.empty();
	  lex->grant= lex->grant_tot_col=0;
	  lex->select_lex.db=0;
	  lex->ssl_type= SSL_TYPE_NOT_SPECIFIED;
	  lex->ssl_cipher= lex->x509_subject= lex->x509_issuer= 0;
	  bzero((char*) &lex->mqh, sizeof(lex->mqh));
	}
    break;

  case 1578:
#line 5748 "sql_yacc.yy"
    {}
    break;

  case 1579:
#line 5753 "sql_yacc.yy"
    {}
    break;

  case 1580:
#line 5756 "sql_yacc.yy"
    {
	  Lex->sql_command = SQLCOM_REVOKE_ALL;
	}
    break;

  case 1581:
#line 5763 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->users_list.empty();
	  lex->columns.empty();
	  lex->sql_command = SQLCOM_GRANT;
	  lex->grant= lex->grant_tot_col= 0;
	  lex->select_lex.db= 0;
	  lex->ssl_type= SSL_TYPE_NOT_SPECIFIED;
	  lex->ssl_cipher= lex->x509_subject= lex->x509_issuer= 0;
	  bzero((char *)&(lex->mqh),sizeof(lex->mqh));
	}
    break;

  case 1582:
#line 5776 "sql_yacc.yy"
    {}
    break;

  case 1583:
#line 5780 "sql_yacc.yy"
    {}
    break;

  case 1584:
#line 5781 "sql_yacc.yy"
    { Lex->grant = GLOBAL_ACLS;}
    break;

  case 1589:
#line 5794 "sql_yacc.yy"
    { Lex->which_columns = SELECT_ACL;}
    break;

  case 1590:
#line 5794 "sql_yacc.yy"
    {}
    break;

  case 1591:
#line 5795 "sql_yacc.yy"
    { Lex->which_columns = INSERT_ACL;}
    break;

  case 1592:
#line 5795 "sql_yacc.yy"
    {}
    break;

  case 1593:
#line 5796 "sql_yacc.yy"
    { Lex->which_columns = UPDATE_ACL; }
    break;

  case 1594:
#line 5796 "sql_yacc.yy"
    {}
    break;

  case 1595:
#line 5797 "sql_yacc.yy"
    { Lex->which_columns = REFERENCES_ACL;}
    break;

  case 1596:
#line 5797 "sql_yacc.yy"
    {}
    break;

  case 1597:
#line 5798 "sql_yacc.yy"
    { Lex->grant |= DELETE_ACL;}
    break;

  case 1598:
#line 5799 "sql_yacc.yy"
    {}
    break;

  case 1599:
#line 5800 "sql_yacc.yy"
    { Lex->grant |= INDEX_ACL;}
    break;

  case 1600:
#line 5801 "sql_yacc.yy"
    { Lex->grant |= ALTER_ACL;}
    break;

  case 1601:
#line 5802 "sql_yacc.yy"
    { Lex->grant |= CREATE_ACL;}
    break;

  case 1602:
#line 5803 "sql_yacc.yy"
    { Lex->grant |= DROP_ACL;}
    break;

  case 1603:
#line 5804 "sql_yacc.yy"
    { Lex->grant |= EXECUTE_ACL;}
    break;

  case 1604:
#line 5805 "sql_yacc.yy"
    { Lex->grant |= RELOAD_ACL;}
    break;

  case 1605:
#line 5806 "sql_yacc.yy"
    { Lex->grant |= SHUTDOWN_ACL;}
    break;

  case 1606:
#line 5807 "sql_yacc.yy"
    { Lex->grant |= PROCESS_ACL;}
    break;

  case 1607:
#line 5808 "sql_yacc.yy"
    { Lex->grant |= FILE_ACL;}
    break;

  case 1608:
#line 5809 "sql_yacc.yy"
    { Lex->grant |= GRANT_ACL;}
    break;

  case 1609:
#line 5810 "sql_yacc.yy"
    { Lex->grant |= SHOW_DB_ACL;}
    break;

  case 1610:
#line 5811 "sql_yacc.yy"
    { Lex->grant |= SUPER_ACL;}
    break;

  case 1611:
#line 5812 "sql_yacc.yy"
    { Lex->grant |= CREATE_TMP_ACL;}
    break;

  case 1612:
#line 5813 "sql_yacc.yy"
    { Lex->grant |= LOCK_TABLES_ACL; }
    break;

  case 1613:
#line 5814 "sql_yacc.yy"
    { Lex->grant |= REPL_SLAVE_ACL;}
    break;

  case 1614:
#line 5815 "sql_yacc.yy"
    { Lex->grant |= REPL_CLIENT_ACL;}
    break;

  case 1615:
#line 5820 "sql_yacc.yy"
    {}
    break;

  case 1616:
#line 5821 "sql_yacc.yy"
    {}
    break;

  case 1619:
#line 5831 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  if (lex->x509_subject)
	  {
	    net_printf(lex->thd,ER_DUP_ARGUMENT, "SUBJECT");
	    YYABORT;
	  }
	  lex->x509_subject=(yyvsp[0].lex_str).str;
	}
    break;

  case 1620:
#line 5841 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  if (lex->x509_issuer)
	  {
	    net_printf(lex->thd,ER_DUP_ARGUMENT, "ISSUER");
	    YYABORT;
	  }
	  lex->x509_issuer=(yyvsp[0].lex_str).str;
	}
    break;

  case 1621:
#line 5851 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  if (lex->ssl_cipher)
	  {
	    net_printf(lex->thd,ER_DUP_ARGUMENT, "CIPHER");
	    YYABORT;
	  }
	  lex->ssl_cipher=(yyvsp[0].lex_str).str;
	}
    break;

  case 1622:
#line 5864 "sql_yacc.yy"
    {
	    LEX *lex= Lex;
	    lex->current_select->db= lex->thd->db;
	    if (lex->grant == GLOBAL_ACLS)
	      lex->grant = DB_ACLS & ~GRANT_ACL;
	    else if (lex->columns.elements)
	    {
	      send_error(lex->thd,ER_ILLEGAL_GRANT_FOR_TABLE);
	      YYABORT;
	    }
	  }
    break;

  case 1623:
#line 5876 "sql_yacc.yy"
    {
	    LEX *lex= Lex;
	    lex->current_select->db = (yyvsp[-2].lex_str).str;
	    if (lex->grant == GLOBAL_ACLS)
	      lex->grant = DB_ACLS & ~GRANT_ACL;
	    else if (lex->columns.elements)
	    {
	      send_error(lex->thd,ER_ILLEGAL_GRANT_FOR_TABLE);
	      YYABORT;
	    }
	  }
    break;

  case 1624:
#line 5888 "sql_yacc.yy"
    {
	    LEX *lex= Lex;
	    lex->current_select->db = NULL;
	    if (lex->grant == GLOBAL_ACLS)
	      lex->grant= GLOBAL_ACLS & ~GRANT_ACL;
	    else if (lex->columns.elements)
	    {
	      send_error(lex->thd,ER_ILLEGAL_GRANT_FOR_TABLE);
	      YYABORT;
	    }
	  }
    break;

  case 1625:
#line 5900 "sql_yacc.yy"
    {
	    LEX *lex=Lex;
	    if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[0].table),NULL,0))
	      YYABORT;
	    if (lex->grant == GLOBAL_ACLS)
	      lex->grant =  TABLE_ACLS & ~GRANT_ACL;
	  }
    break;

  case 1626:
#line 5911 "sql_yacc.yy"
    { if (Lex->users_list.push_back((yyvsp[0].lex_user))) YYABORT;}
    break;

  case 1627:
#line 5913 "sql_yacc.yy"
    {
	    if (Lex->users_list.push_back((yyvsp[0].lex_user)))
	      YYABORT;
	  }
    break;

  case 1628:
#line 5922 "sql_yacc.yy"
    {
	   (yyval.lex_user)=(yyvsp[-3].lex_user); (yyvsp[-3].lex_user)->password=(yyvsp[0].lex_str);
	   if ((yyvsp[0].lex_str).length)
	   {
             if (YYTHD->variables.old_passwords)
             {
               char *buff= 
                 (char *) YYTHD->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH_323+1);
               if (buff)
                 make_scrambled_password_323(buff, (yyvsp[0].lex_str).str);
               (yyvsp[-3].lex_user)->password.str= buff;
               (yyvsp[-3].lex_user)->password.length= SCRAMBLED_PASSWORD_CHAR_LENGTH_323;
             }
             else
             {
               char *buff= 
                 (char *) YYTHD->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH+1);
               if (buff)
                 make_scrambled_password(buff, (yyvsp[0].lex_str).str);
               (yyvsp[-3].lex_user)->password.str= buff;
               (yyvsp[-3].lex_user)->password.length= SCRAMBLED_PASSWORD_CHAR_LENGTH;
             }
	  }
	}
    break;

  case 1629:
#line 5947 "sql_yacc.yy"
    { (yyval.lex_user)=(yyvsp[-4].lex_user); (yyvsp[-4].lex_user)->password=(yyvsp[0].lex_str) ; }
    break;

  case 1630:
#line 5949 "sql_yacc.yy"
    { (yyval.lex_user)=(yyvsp[0].lex_user); (yyvsp[0].lex_user)->password.str=NullS; }
    break;

  case 1631:
#line 5955 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->grant |= lex->which_columns;
	}
    break;

  case 1635:
#line 5967 "sql_yacc.yy"
    {
	  String *new_str = new (YYTHD->mem_root) String((const char*) (yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,system_charset_info);
	  List_iterator <LEX_COLUMN> iter(Lex->columns);
	  class LEX_COLUMN *point;
	  LEX *lex=Lex;
	  while ((point=iter++))
	  {
	    if (!my_strcasecmp(system_charset_info,
                               point->column.ptr(), new_str->ptr()))
		break;
	  }
	  lex->grant_tot_col|= lex->which_columns;
	  if (point)
	    point->rights |= lex->which_columns;
	  else
	    lex->columns.push_back(new LEX_COLUMN (*new_str,lex->which_columns));
	}
    break;

  case 1637:
#line 5989 "sql_yacc.yy"
    {
            Lex->ssl_type=SSL_TYPE_SPECIFIED;
          }
    break;

  case 1638:
#line 5993 "sql_yacc.yy"
    {
            Lex->ssl_type=SSL_TYPE_ANY;
          }
    break;

  case 1639:
#line 5997 "sql_yacc.yy"
    {
            Lex->ssl_type=SSL_TYPE_X509;
          }
    break;

  case 1640:
#line 6001 "sql_yacc.yy"
    {
	    Lex->ssl_type=SSL_TYPE_NONE;
	  }
    break;

  case 1641:
#line 6007 "sql_yacc.yy"
    {}
    break;

  case 1643:
#line 6011 "sql_yacc.yy"
    {}
    break;

  case 1644:
#line 6012 "sql_yacc.yy"
    {}
    break;

  case 1645:
#line 6016 "sql_yacc.yy"
    { Lex->grant |= GRANT_ACL;}
    break;

  case 1646:
#line 6018 "sql_yacc.yy"
    {
	  Lex->mqh.questions=(yyvsp[0].ulong_num);
	  Lex->mqh.bits |= 1;
	}
    break;

  case 1647:
#line 6023 "sql_yacc.yy"
    {
	  Lex->mqh.updates=(yyvsp[0].ulong_num);
	  Lex->mqh.bits |= 2;
	}
    break;

  case 1648:
#line 6028 "sql_yacc.yy"
    {
	  Lex->mqh.connections=(yyvsp[0].ulong_num);
	  Lex->mqh.bits |= 4;
	}
    break;

  case 1649:
#line 6035 "sql_yacc.yy"
    { Lex->sql_command = SQLCOM_BEGIN; Lex->start_transaction_opt= 0;}
    break;

  case 1650:
#line 6035 "sql_yacc.yy"
    {}
    break;

  case 1651:
#line 6039 "sql_yacc.yy"
    {}
    break;

  case 1652:
#line 6040 "sql_yacc.yy"
    {;}
    break;

  case 1653:
#line 6044 "sql_yacc.yy"
    { Lex->sql_command = SQLCOM_COMMIT;}
    break;

  case 1654:
#line 6048 "sql_yacc.yy"
    {
	  Lex->sql_command = SQLCOM_ROLLBACK;
	}
    break;

  case 1655:
#line 6052 "sql_yacc.yy"
    {
	  Lex->sql_command = SQLCOM_ROLLBACK_TO_SAVEPOINT;
	  Lex->savepoint_name = (yyvsp[0].lex_str).str;
	}
    break;

  case 1656:
#line 6058 "sql_yacc.yy"
    {
	  Lex->sql_command = SQLCOM_SAVEPOINT;
	  Lex->savepoint_name = (yyvsp[0].lex_str).str;
	}
    break;

  case 1657:
#line 6069 "sql_yacc.yy"
    {}
    break;

  case 1659:
#line 6075 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  if (lex->exchange)
	  {
	    /* Only the last SELECT can have  INTO...... */
	    net_printf(lex->thd, ER_WRONG_USAGE, "UNION", "INTO");
	    YYABORT;
	  }
	  if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE)
	  {
            yyerror(ER(ER_SYNTAX_ERROR));
	    YYABORT;
	  }
	  if (mysql_new_select(lex, 0))
	    YYABORT;
          mysql_init_select(lex);
	  lex->current_select->linkage=UNION_TYPE;
          if ((yyvsp[0].num)) /* UNION DISTINCT - remember position */
            lex->current_select->master_unit()->union_distinct=
                                                      lex->current_select;
	}
    break;

  case 1660:
#line 6096 "sql_yacc.yy"
    {}
    break;

  case 1661:
#line 6100 "sql_yacc.yy"
    {}
    break;

  case 1662:
#line 6101 "sql_yacc.yy"
    {}
    break;

  case 1663:
#line 6105 "sql_yacc.yy"
    {}
    break;

  case 1664:
#line 6107 "sql_yacc.yy"
    {
	    THD *thd= YYTHD;
	    LEX *lex= thd->lex;
	    DBUG_ASSERT(lex->current_select->linkage != GLOBAL_OPTIONS_TYPE);
	    SELECT_LEX *sel= lex->current_select;
	    SELECT_LEX_UNIT *unit= sel->master_unit();
	    SELECT_LEX *fake= unit->fake_select_lex;
	    if (fake)
	    {
	      unit->global_parameters= fake;
	      fake->no_table_names_allowed= 1;
	      lex->current_select= fake;
	    }
	    thd->where= "global ORDER clause";
	  }
    break;

  case 1665:
#line 6123 "sql_yacc.yy"
    {
	    THD *thd= YYTHD;
	    thd->lex->current_select->no_table_names_allowed= 0;
	    thd->where= "";
          }
    break;

  case 1668:
#line 6136 "sql_yacc.yy"
    { (yyval.num)=1; }
    break;

  case 1669:
#line 6137 "sql_yacc.yy"
    { (yyval.num)=1; }
    break;

  case 1670:
#line 6138 "sql_yacc.yy"
    { (yyval.num)=0; }
    break;

  case 1671:
#line 6144 "sql_yacc.yy"
    {
	  (yyval.item)= (yyvsp[-1].item);
	}
    break;

  case 1672:
#line 6150 "sql_yacc.yy"
    {
	  (yyval.item)= new Item_singlerow_subselect(Lex->current_select->
					   master_unit()->first_select());
	}
    break;

  case 1673:
#line 6158 "sql_yacc.yy"
    {
	  (yyval.item)= (yyvsp[-1].item);
	}
    break;

  case 1674:
#line 6164 "sql_yacc.yy"
    {
	  (yyval.item)= new Item_exists_subselect(Lex->current_select->master_unit()->
					first_select());
	}
    break;

  case 1675:
#line 6172 "sql_yacc.yy"
    {
    (yyval.select_lex)= (yyvsp[-1].select_lex);
  }
    break;

  case 1676:
#line 6178 "sql_yacc.yy"
    {
    (yyval.select_lex)= Lex->current_select->master_unit()->first_select();
  }
    break;

  case 1677:
#line 6184 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
          if (lex->sql_command == (int)SQLCOM_HA_READ ||
              lex->sql_command == (int)SQLCOM_KILL)
	  {
            yyerror(ER(ER_SYNTAX_ERROR));
	    YYABORT;
	  }
	  if (mysql_new_select(Lex, 1))
	    YYABORT;
	}
    break;

  case 1678:
#line 6198 "sql_yacc.yy"
    {
	  LEX *lex=Lex;
	  lex->current_select = lex->current_select->return_after_parsing();
	}
    break;


    }

/* Line 1037 of yacc.c.  */
#line 21940 "sql_yacc.cc"

  yyvsp -= yylen;
  yyssp -= yylen;


  YY_STACK_PRINT (yyss, yyssp);

  *++yyvsp = yyval;


  /* Now `shift' the result of the reduction.  Determine what state
     that goes to, based on the state we popped back to and the rule
     number reduced by.  */

  yyn = yyr1[yyn];

  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
    yystate = yytable[yystate];
  else
    yystate = yydefgoto[yyn - YYNTOKENS];

  goto yynewstate;


/*------------------------------------.
| yyerrlab -- here on detecting error |
`------------------------------------*/
yyerrlab:
  /* If not already recovering from an error, report this error.  */
  if (!yyerrstatus)
    {
      ++yynerrs;
#if YYERROR_VERBOSE
      yyn = yypact[yystate];

      if (YYPACT_NINF < yyn && yyn < YYLAST)
	{
	  YYSIZE_T yysize = 0;
	  int yytype = YYTRANSLATE (yychar);
	  const char* yyprefix;
	  char *yymsg;
	  int yyx;

	  /* Start YYX at -YYN if negative to avoid negative indexes in
	     YYCHECK.  */
	  int yyxbegin = yyn < 0 ? -yyn : 0;

	  /* Stay within bounds of both yycheck and yytname.  */
	  int yychecklim = YYLAST - yyn;
	  int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
	  int yycount = 0;

	  yyprefix = ", expecting ";
	  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
	    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
	      {
		yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
		yycount += 1;
		if (yycount == 5)
		  {
		    yysize = 0;
		    break;
		  }
	      }
	  yysize += (sizeof ("syntax error, unexpected ")
		     + yystrlen (yytname[yytype]));
	  yymsg = (char *) YYSTACK_ALLOC (yysize);
	  if (yymsg != 0)
	    {
	      char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
	      yyp = yystpcpy (yyp, yytname[yytype]);

	      if (yycount < 5)
		{
		  yyprefix = ", expecting ";
		  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
		    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
		      {
			yyp = yystpcpy (yyp, yyprefix);
			yyp = yystpcpy (yyp, yytname[yyx]);
			yyprefix = " or ";
		      }
		}
	      yyerror (yymsg);
	      YYSTACK_FREE (yymsg);
	    }
	  else
	    yyerror ("syntax error; also virtual memory exhausted");
	}
      else
#endif /* YYERROR_VERBOSE */
	yyerror ("syntax error");
    }



  if (yyerrstatus == 3)
    {
      /* If just tried and failed to reuse look-ahead token after an
	 error, discard it.  */

      if (yychar <= YYEOF)
        {
          /* If at end of input, pop the error token,
	     then the rest of the stack, then return failure.  */
	  if (yychar == YYEOF)
	     for (;;)
	       {

		 YYPOPSTACK;
		 if (yyssp == yyss)
		   YYABORT;
		 yydestruct ("Error: popping",
                             yystos[*yyssp], yyvsp);
	       }
        }
      else
	{
	  yydestruct ("Error: discarding", yytoken, &yylval);
	  yychar = YYEMPTY;
	}
    }

  /* Else will try to reuse look-ahead token after shifting the error
     token.  */
  goto yyerrlab1;


/*---------------------------------------------------.
| yyerrorlab -- error raised explicitly by YYERROR.  |
`---------------------------------------------------*/
yyerrorlab:

#ifdef __GNUC__
  /* Pacify GCC when the user code never invokes YYERROR and the label
     yyerrorlab therefore never appears in user code.  */
  if (0)
     goto yyerrorlab;
#endif

yyvsp -= yylen;
  yyssp -= yylen;
  yystate = *yyssp;
  goto yyerrlab1;


/*-------------------------------------------------------------.
| yyerrlab1 -- common code for both syntax error and YYERROR.  |
`-------------------------------------------------------------*/
yyerrlab1:
  yyerrstatus = 3;	/* Each real token shifted decrements this.  */

  for (;;)
    {
      yyn = yypact[yystate];
      if (yyn != YYPACT_NINF)
	{
	  yyn += YYTERROR;
	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
	    {
	      yyn = yytable[yyn];
	      if (0 < yyn)
		break;
	    }
	}

      /* Pop the current state because it cannot handle the error token.  */
      if (yyssp == yyss)
	YYABORT;


      yydestruct ("Error: popping", yystos[yystate], yyvsp);
      YYPOPSTACK;
      yystate = *yyssp;
      YY_STACK_PRINT (yyss, yyssp);
    }

  if (yyn == YYFINAL)
    YYACCEPT;

  *++yyvsp = yylval;


  /* Shift the error token. */
  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);

  yystate = yyn;
  goto yynewstate;


/*-------------------------------------.
| yyacceptlab -- YYACCEPT comes here.  |
`-------------------------------------*/
yyacceptlab:
  yyresult = 0;
  goto yyreturn;

/*-----------------------------------.
| yyabortlab -- YYABORT comes here.  |
`-----------------------------------*/
yyabortlab:
  yydestruct ("Error: discarding lookahead",
              yytoken, &yylval);
  yychar = YYEMPTY;
  yyresult = 1;
  goto yyreturn;

#ifndef yyoverflow
/*----------------------------------------------.
| yyoverflowlab -- parser overflow comes here.  |
`----------------------------------------------*/
yyoverflowlab:
  yyerror ("parser stack overflow");
  yyresult = 2;
  /* Fall through.  */
#endif

yyreturn:
#ifndef yyoverflow
  if (yyss != yyssa)
    YYSTACK_FREE (yyss);
#endif
  return yyresult;
}



